[résolu]Problème pour afficher un champ caché avec select

Petit nouveau ! | 6 Messages

18 juin 2012, 16:32

Bonjour, j'ai trouvé un bout de code sur internet que j'ai un peu modifié mais je connais très peu javascript alors si vous pouviez m'aider ce serait cool :)
le code fonctionne quand je teste sur une page vide mais quand j'essaie de l'ajouter à mon formulaire ça ne fonctionne plus, ce que je veut c'est afficher le champ caché quand je sélectionne "autre" dans la liste.

[javascript]<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link href="style.css" rel="stylesheet" type="text/css" />

<script type="text/javascript" >

function check() {
var a = document.forms[0].a.value;

if (a == "autre") {
document.getElementById('c').style.display = 'inline';
} else if (a !== "autre" ) {
document.getElementById('c').style.display = 'none';
}
}

</script>
</head>[/javascript]
<div id="content">   
 		<div id="formulaire"> 
          
    <form action="form1" method="post">
    
    <label>Titre :</label>
    <input type="text" name="titre" value="" /><br />
    
    <label>Catégorie :</label>
    <input type="text" name="categorie" value="" /><br />
    
    <label>Lien :</label>
    <input type="text" name="lien" value="" /><br />
    
    <label>Chaîne tv :</label>
    <input type="text" name="chaine" value="" /><br />
    
    <label>Série/émission :</label>	
    <select name="a" onchange="check();">
    <option value="1">1</option>
    <option value="autre">autre</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    <option value="6">6</option>
	</select>
	<br />
	<input type="text" style="display: none" name="c" id="c" /><br />
    
    <input type="hidden" name="date_ajout" value="" />
    
    <label>Résumé :</label> <textarea name="resume" rows="5" cols="40"></textarea>
    <br />
    
    <div class="submit">
    <input type="submit" name="ajout" value="ajouter" /><br />
    
    </div>
    </form>

    	</div>
  </div>
Modifié en dernier par sens01 le 18 juin 2012, 17:35, modifié 1 fois.

Eléphanteau du PHP | 21 Messages

18 juin 2012, 16:47

Bonjour, le code que tu as mis est-ce dans le cas où ça ne fonctionne pas ou est-ce quand tu le testes sur une "page vide" ?

Petit nouveau ! | 6 Messages

18 juin 2012, 16:53

C'est le code dans le cas où ça ne fonctionne pas mais c'est le même js que j'ai utilisé dans la page de test ( qui contient juste la partie du formulaire que je veut intéragir avec).

edit: je pense que je dois changer quelque chose dans cette ligne : var a = document.forms[0].a.value; mais je ne vois pas quoi?
Modifié en dernier par sens01 le 18 juin 2012, 17:36, modifié 1 fois.

Eléphanteau du PHP | 21 Messages

18 juin 2012, 17:05

Et si tu mets :
[javascript]var a = document.getElementById('id_de_la_liste').value;[/javascript]
Car sur ta page, y a-t-il plusieurs formulaires ? Si oui, le numéro à rentrer dans forms[n] est le énième formulaires déclarés.

Petit nouveau ! | 6 Messages

18 juin 2012, 17:35

Yes ça fonctionne merci beaucoup :D pour répondre à ta question je n'ai qu'un seul formulaire

Petit nouveau ! | 3 Messages

23 juin 2012, 19:59

C'est le code dans le cas où ça ne fonctionne pas mais c'est le même js que j'ai utilisé dans la page de test.
Image

yasseross
Invité n'ayant pas de compte PHPfrance

02 janv. 2013, 16:40

et si le select et remplit a partir d une base de données !!!!!!!!!!!!!!!

ViPHP
xTG
ViPHP | 7331 Messages

02 janv. 2013, 17:06

et si le select et remplit a partir d une base de données !!!!!!!!!!!!!!!
Cela ne change absolument rien à la solution.

yasseross
Invité n'ayant pas de compte PHPfrance

02 janv. 2013, 17:26

[javascript] <script type="text/javascript" >
function check() {
var a = document.confirmer.getElementById('type').value;

if (a == "Virement" || a == "Prélèvement" || a == "Carte Bancaire" || a == "Chèque" ) {
document.getElementById('discription').style.display = 'inline';
} else if (a !== "Virement" || a !== "Prélèvement" || a !== "Carte Bancaire" || a !== "Chèque" ) {
document.getElementById('discription').style.display = 'none';
}
}

</script>[/javascript]
mais je sais pas pourquoi ne fonctionne pas !!!!!!!!! #-o

ViPHP
xTG
ViPHP | 7331 Messages

02 janv. 2013, 17:37

Parce que ta seconde condition n'est pas bonne. Ce n'est pas la négation de la première que tu as écrit.
Révision de l'algèbre de bool s'impose. ;)

yasseross
Invité n'ayant pas de compte PHPfrance

02 janv. 2013, 17:44

[javascript]<script type="text/javascript" >
function check() {
var a = document.confirmer.getElementById('type').value;

if (a == "Virement" || a == "Prélèvement" || a == "Carte Bancaire" || a == "Chèque" ) {
document.getElementById('discription').style.display = 'inline';
} else if (a !== "Virement" || a !== "Prélèvement" || a !== "Carte Bancaire" || a !== "Chèque" ) {
document.getElementById('discription').style.display = 'none';
}
}

</script>[/javascript]
et Mtn Qcq Vous dite :lol: mais sa marche pas comme même, vous pouvez m'aider :(

yasseross
Invité n'ayant pas de compte PHPfrance

02 janv. 2013, 17:47

[javascript]<script type="text/javascript" >
function check() {
var a = confirmer.getElementById('type').value;

if (a == "Virement" || a == "Prélèvement" || a == "Carte Bancaire" || a == "Chèque" ) {
confirmer.getElementById('discription').style.display = 'inline';
} else {
confirmer.getElementById('discription').style.display = 'none';
}
}

</script>[/javascript]
voila le code corriger mais sa marche po :cry:

ViPHP
xTG
ViPHP | 7331 Messages

02 janv. 2013, 19:09

C'est quoi la variable confirmer ?