cs_yannus29
Messages postés8Date d'inscriptionlundi 13 novembre 2006StatutMembreDernière intervention16 mars 2009
-
12 mars 2009 à 10:16
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 2015
-
16 mars 2009 à 14:19
Bonjour,
Je souhaite faire une fonction qui affiche un bloc si le client choisi "oui" dans le formulaire. Voici mon premier code :
Dans le HEAD :
<script type="text/javascript" language="javascript">
function aff_div(idDiv) {
cheminChamp = document.insNe.pec;
for (i=0;i<cheminChamp.length;i++) {
if (cheminChamp[i].checked) {
checkVal=cheminChamp[i].value;
}
}
if (checkVal == 1) {
document.getElementById(idDiv).style.display = 'block';
}
else {
document.getElementById(idDiv).style.display = 'none';
}
}
</script>
Dans le BODY :
<form name="insNe" id="insNe" method="post" action="">
PRISE EN CHARGE * :
OUI
NON
Ok ça fonctionne
</form>
Jusqu'ici tout va bien ça fonctionne très bien. Seulement j'ai voulu pousser un peu ma fonction pour pouvoir la réutiliser plus facilement : en plus de passer en paramètre l'id du bloc DIV que je veux afficher, je veux passer le nom du formulaire et le nom du champ à tester et là cela ne fonctionne plus . Voici le code :
Dans le HEAD :
<script type="text/javascript" language="javascript">
function aff_div(nomform,nomradio,idDiv) {
cheminChamp = document+"."+nomform+"."+nomradio;
for (i=0;i<cheminChamp.length;i++) {
if (cheminChamp[i].checked) {
checkVal=cheminChamp[i].value;
}
}
if (checkVal == 1) {
document.getElementById(idDiv).style.display = 'block';
}
else {
document.getElementById(idDiv).style.display = 'none';
}
}
</script>
Dans le BODY :
<form name="insNe" id="insNe" method="post" action="">
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 12 mars 2009 à 11:44
oui.... pas été assez loin
_ le div n'a pas de name donc pour l'utiliser : par l'id seulement
_ s'il en avait un : il ne peut pas être appeler 'dans un form' je crois (?)
_ il faudrait que tu utilises document.forms[nomForm]....
ou mieux (?) dans l'appel mettre
aff_div ( document.isNe, document.isNe.pec, document.getElementById('depVilleRam') )
et dans ta fonction var cheminChamp = nomradio;...
if (checkVal == 1) {
idDiv.style.display = 'block'; ...
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 13 mars 2009 à 17:22
° 1 seule question par demande normalement
° quand on veut... on peut !
° question oh combien récurrente !!!
la moindre recherche donnera une foultitude de réponses
cs_yannus29
Messages postés8Date d'inscriptionlundi 13 novembre 2006StatutMembreDernière intervention16 mars 2009 12 mars 2009 à 11:18
Merci de ta réponse Bul3.
J'avais essayé mais ce n'est pas mieux, la console de la Web Developer Toolbar de FireFox me dit "document.nomform is undefined" et avec la concaténation j'ai "checkVal is undefined"...
cs_yannus29
Messages postés8Date d'inscriptionlundi 13 novembre 2006StatutMembreDernière intervention16 mars 2009 12 mars 2009 à 12:20
Exact ! à une petite nuance près : comme dans l'appel de la fonction on indique "document.insNe.pec" pour le bouton radio, je n'ai plus besoin du premier paramètre de ma fonction.
Voila ce que cela donne si ça peut aider quelqu'un :
HEAD :
<script type="text/javascript" language="javascript">
function aff_div(nomradio,idDiv) {
cheminChamp = nomradio;
for (i=0;i<cheminChamp.length;i++) {
if (cheminChamp[i].checked) {
checkVal=cheminChamp[i].value;
}
}
if (checkVal == 1) {
idDiv.style.display = 'block';
}
else {
idDiv.style.display = 'none';
}
}
</script>
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 12 mars 2009 à 12:34
et... pourquoi passer par une fonction
pour faire un test sur le radio coché ????
fais directement display="none" ou display="block" dans
le onclick !
ce sera encore mieux
cs_yannus29
Messages postés8Date d'inscriptionlundi 13 novembre 2006StatutMembreDernière intervention16 mars 2009 13 mars 2009 à 16:59
Tant que j'y suis tu pourras peut être m'aider pour la suite...
Je veux que le visiteur choisisse un département dans la liste quand le bouton oui est coché (c'est ce qu'on a déjà fait) et en suite suivant le département choisi il faut aller chercher dans ma base de donnée les villes dont le code postal commence par le numéro de département choisi et les affiche dans une nouvelle liste déroulante.
J'espère être assez clair, le week-end est proche et la fatigue est grande !