Probleme avec un input radio

Fermé
switch - 5 mai 2011 à 15:03
 Zebrus - 11 mai 2011 à 13:37
Bonjour,
Je cherche a faire un formulaire html différent selon la valeur de l'imput radio le problème est que le premier formulaire s'affiche toujours et les deux autres s'affiche en dessous.
Pour faire le changement j'utilise une fonction javascript je vais vous mettre les codes html et js qui me pose problème si quelqu'un a une idée de ce qui bloque.

<form method="post">

Type de connexion:

<label><input id="typeLogPwd" type="radio" name="typeLogin" value="LogPwd" onchange="afficherLogPwd();"/> LogPwd </label>
<label><input id="typeLogNumSecu" type="radio" name="typeLogin" value="LogNumSecu" onchange="afficherLogNumSecu();"/> LogNumSecu </label>
<label><input id="typeLog" type="radio" name="typeLogin" value="Log" onchange="afficherLog();"/> Log </label>


<div id="LogPwd" style="display: none;">
<table>
<tr><td>Login: </td><td colspan="2"><input type="text" name="loginLogPwd" size="9" /></td></tr>
<tr><td>pass: </td><td><input type="password" name="pass"/></td></tr>
</table>
</div>

<div id="LogNumSecu" style="display: none;">
<table>
<tr><td>Login: </td><td colspan="2"><input type="text" name="loginLogNumSecu" size="9" /></td></tr>
<tr><td>Num Secu: </td><td><input type="password" name="pass"/></td></tr>
</table>
</div>

<div id="Log" style="display: none;">
<table>
<tr><td>Login: </td><td colspan="2"><input type="text" name="loginLog" size="9" /></td></tr>
</table>
</div>

<input type="submit" value="Connexion" />
</form>


et le js

function afficherLogPwd() {
document.getElementById('LogPwd').style.display = "block";
document.getElementById('LogNumSecu').style.display = "none";
document.getElementById('Log').style.display = "none";
}

function afficherLogNumSecu() {
document.getElementById('LogPwd').style.display = "none";
document.getElementById('LogNumSecu').style.display = "block";
document.getElementById('Log').style.display = "none";

}

function afficherLog() {
document.getElementById('LogPwd').style.display = "none";
document.getElementById('LogNumSecu').style.display = "none";
document.getElementById('Log').style.display = "block";

}



A voir également:

2 réponses

Profil bloqué
11 mai 2011 à 00:31
Je ne connais pas bien onchange, mais pourquoi ne ferais tu pas un test (en php) sur la valeur de tes options ?

Car si tu mets juste onchange, ça veut dire que ça va à chaque fois faire 2 fonctions. Celle ou la valeur passe à 0 (qui change donc) et celle qui passe à 1. Et pas seulement celle qui passe à 1.

Tu vois ce que je veux dire ?
0
remplace onchange par onclick ou onfocus, car onchange ne fonctionne que pour les champs texte ou avec un select.



Un peu plus d'info ici http://www.commentcamarche.net/contents/javascript/jsevent.php3


et tout expliqué clairement mais en Anglais ici : http://www.htmlcodetutorial.com/forms/_INPUT_onChange.html
0