C'est normal tu te bases sur la valeur du label associé à l'input file pour afficher/cacher le champ.
Par défaut le champ est caché car j'ai mis
style="visibility:hidden;"
Ensuite je l'affiche si le label associé à l'input file est remplie, ce qui arrive quand tu sélectionnes un fichier.
Code:
1 2 3 4
| if( document.getElementById('t1').value != '' )
{
document.getElementById('id2').style.visibility="visible";
} |
Mais comme on n'a pas possibilité de supprimer ce fichier (il faudrait prévoir un bouton pour ça) . Le label ne peut plus être vide, et donc tu ne pourras pas le cacher.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
<!DOCTYPE html>
<html>
<head>
<script>
function checkField()
{
if( document.getElementById('t1').value != '' )
{
document.getElementById('id2').style.visibility="visible";
}
else
document.getElementById('id2').style.visibility="hidden";
}
function checkFile()
{
if( document.getElementById('f1').value != '' )
{
document.getElementById('id1').style.visibility="visible";
}
else
document.getElementById('id1').style.visibility="hidden";
}
function reset(){
document.getElementById('f1').value = '';
document.getElementById('id1').style.visibility="hidden";
}
</script>
</head>
<body>
<input type="file" id="f1" name="file" onchange="checkFile();">
<input type="button" id"b1" name="bouton" value="reset" onclick="reset();">
<input type="text" id="id1" name="txt2" value="Hello" style="visibility:hidden;">
</br>
</br>
<input type="text" id="t1" name="txt1" value="Hello 1" onchange="checkField();" >
<input type="text" id="id2" name="txt2" value="Hello 2" style="visibility:hidden;">
</body>
</html> |