Javascript + formulaire select - A l'AIDE !
Résolu/Fermé
Edouard73
Messages postés
139
Date d'inscription
mercredi 12 septembre 2007
Statut
Membre
Dernière intervention
2 avril 2013
-
6 mai 2008 à 23:46
djoyanna Messages postés 16 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 8 septembre 2008 - 13 juin 2008 à 10:14
djoyanna Messages postés 16 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 8 septembre 2008 - 13 juin 2008 à 10:14
A voir également:
- Javascript + formulaire select - A l'AIDE !
- Formulaire de réclamation facebook - Guide
- Telecharger javascript - Télécharger - Langages
- Javascript round ✓ - Forum Javascript
- Civilité sur un formulaire - Forum VB / VBA
- A javascript error occurred in the main process - Forum Matériel & Système
3 réponses
PhP
Messages postés
1770
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
606
7 mai 2008 à 09:08
7 mai 2008 à 09:08
Bjr
Déjà il manque une parenthèse fermante à la fin de la fonction remplirArchetype : faute de frappe ?
onChange="remplirAvatar(this.options[this.selectedIndex].id); remplirArchetype(this.options[this.selectedIndex].id);">
Ensuite tes fonctions verifClasse() et verif() sont en double ! supprimes en une version !
Enfin remplace
par
Et
par
Et ca devrait mieux fonctionner
Déjà il manque une parenthèse fermante à la fin de la fonction remplirArchetype : faute de frappe ?
onChange="remplirAvatar(this.options[this.selectedIndex].id); remplirArchetype(this.options[this.selectedIndex].id);">
Ensuite tes fonctions verifClasse() et verif() sont en double ! supprimes en une version !
Enfin remplace
document.monFormulaire.archetype.options.selectedIndex = 0;
par
formulaire.archetype.options.selectedIndex = 0;
Et
document.monFormulaire.avatar.options.selectedIndex = 0;
par
formulaire.avatar.options.selectedIndex = 0;
Et ca devrait mieux fonctionner
PhP
Messages postés
1770
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
606
7 mai 2008 à 10:03
7 mai 2008 à 10:03
ce code fonctionne
PhP
Il y a 10 types de personnes dans le monde : ceux qui comprennent le binaire et les autres ...
<html> <head> <script language="JavaScript"> function verif() { if (document.layers) { formulaire = document.forms.forumlaire; } else { formulaire = document.forumlaire; } } function verifClasse() { verif(); if (formulaire.classe.value == "0") { alert('Vous devez tout d\'abord choisir une classe!'); formulaire.classe.focus(); } } var images = new Array(); images[0] = new Array(); images[1] = new Array("images/gardien.png") images[2] = new Array("images/conquerant.png") images[3] = new Array("images/templier.png") images[4] = new Array("images/barbare.png") images[5] = new Array("images/eclaireur.png") images[6] = new Array("images/assassin.png") images[7] = new Array("images/pretre-de-mitra.png") images[8] = new Array("images/fleau.png") images[9] = new Array("images/chaman.png") images[10] = new Array("images/demonologue.png") images[11] = new Array("images/necromancien.png") images[12] = new Array("images/heraut.png") function remplirAvatar(code) { verif(); var lesImages = images[code]; if (code>0) { formulaire.avatar.options.length = lesImages.length; for (i=0; i<lesImages.length; i++) { formulaire.avatar.options[i].id = lesImages[i]; formulaire.avatar.options[i].text = lesImages[i]; } //document.monFormulaire.avatar.options.selectedIndex = 0; formulaire.avatar.options.selectedIndex = 0; } else { formulaire.avatar.options.length = 1; formulaire.avatar.options[0].id = 0; formulaire.avatar.options[0].text = "-- choisissez dabors une classe"; } } var cimm = new Array(); cimm[0] = new Array(); cimm[1] = new Array("Soldat") cimm[2] = new Array("Soldat") cimm[3] = new Array("Soldat") cimm[4] = new Array("Maraudeur") cimm[5] = new Array("Maraudeur") cimm[6] = new Array("Maraudeur") cimm[7] = new Array("Pretre") cimm[8] = new Array("Pretre") cimm[9] = new Array("Pretre") cimm[10] = new Array("Mage") cimm[11] = new Array("Mage") cimm[12] = new Array("Mage") function remplirArchetype(code) { verif(); var lesCimms = cimm[code]; if (code>0) { formulaire.archetype.options.length = lesCimms.length; for (i=0; i<lesCimms.length; i++) { formulaire.archetype.options[i].id = lesCimms[i]; formulaire.archetype.options[i].text = lesCimms[i]; } //document.monFormulaire.archetype.options.selectedIndex = 0; formulaire.archetype.options.selectedIndex = 0; } else { formulaire.archetype.options.length = 1; formulaire.archetype.options[0].id = 0; formulaire.archetype.options[0].text = "-- choisissez dabors une classe"; } } </script> </head> <body > <form name="forumlaire" method="post" action="nouvelle-view.php" enctype="multipart/form-data"> <br />Classe <select name="classe" onChange="remplirAvatar(this.options[this.selectedIndex].id); remplirArchetype(this.options[this.selectedIndex].id);"> <option id="0" selected="selected">-- choisissez une classe</option> <option id="1" value="Gardien">Gardien</option> <option id="2" value="Conquerant">Conquerant</option> <option id="3" value="Templier_noir">Templier_noir</option> <option id="4" value="Barbare">Barbare</option> <option id="5" value="Eclaireur">Eclaireur</option> <option id="6" value="Assassin">Assassin</option> <option id="7" value="Pretre_de_Mitra">Pretre_de_Mitra</option> <option id="8" value="Fleau_de_Set">Fleau_de_Set</option> <option id="9" value="Chaman_Ours">Chaman_Ours</option> <option id="10" value="Demonologue">Demonologue</option> <option id="11" value="Necromancien">Necromancien</option> <option id="12" value="Heraut_de_Xolti">Heraut_de_Xolti</option> </select> <br />Avatar <select name="avatar" onFocus="verifClasse();"> <option selected="selected">-- choisissez dabors une classe</option> </select> <br />Archetype <select name="archetype" onFocus="verifClasse();"> <option selected="selected">-- choisissez dabors une classe</option> </select> </form> </body> </html>--
PhP
Il y a 10 types de personnes dans le monde : ceux qui comprennent le binaire et les autres ...
Edouard73
Messages postés
139
Date d'inscription
mercredi 12 septembre 2007
Statut
Membre
Dernière intervention
2 avril 2013
11
7 mai 2008 à 10:31
7 mai 2008 à 10:31
Super ça.
en faite le probleme ne résidait pas dans
onChange="remplirAvatar(this.options[this.selectedIndex].id); remplirArchetype(this.options[this.selectedIndex].id);">
mais dans le code java script. je ne devais pas repeter le script et donc enlever cette partie :
}
</script>
<script language="JavaScript">
function verif()
{
if (document.layers)
{
formulaire = document.forms.forumlaire;
}
else
{
formulaire = document.forumlaire;
}
}
function verifClasse()
{
verif();
if (formulaire.classe.value == "0")
{
alert('Vous devez tout d\'abord choisir une classe!');
formulaire.classe.focus();
}
et remplacer mes erreurs :
document.monFormulaire.avatar.options.selectedIndex = 0; par formulaire.avatar.options.selectedIndex = 0;
et
document.monFormulaire.archetype.options.selectedIndex = 0; par formulaire.archetype.options.selectedIndex = 0;
super. merci pour ton aide. ça ouvre maintenant la possibilité à répéter l'opération indéfiniment.
en faite le probleme ne résidait pas dans
onChange="remplirAvatar(this.options[this.selectedIndex].id); remplirArchetype(this.options[this.selectedIndex].id);">
mais dans le code java script. je ne devais pas repeter le script et donc enlever cette partie :
}
</script>
<script language="JavaScript">
function verif()
{
if (document.layers)
{
formulaire = document.forms.forumlaire;
}
else
{
formulaire = document.forumlaire;
}
}
function verifClasse()
{
verif();
if (formulaire.classe.value == "0")
{
alert('Vous devez tout d\'abord choisir une classe!');
formulaire.classe.focus();
}
et remplacer mes erreurs :
document.monFormulaire.avatar.options.selectedIndex = 0; par formulaire.avatar.options.selectedIndex = 0;
et
document.monFormulaire.archetype.options.selectedIndex = 0; par formulaire.archetype.options.selectedIndex = 0;
super. merci pour ton aide. ça ouvre maintenant la possibilité à répéter l'opération indéfiniment.
djoyanna
Messages postés
16
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
8 septembre 2008
1
13 juin 2008 à 10:14
13 juin 2008 à 10:14
bonjour
je m'adresse a vous car je nai pas encore obtenu de solution
me voici avec un souci :( dans un formulaire de question reponse dynamique dans l'affichage de chaque liste de reponse il y a une option autre qui permet d'afficher un champs text au cas ou les reponses ne conviennent pas a lutilisateur. j'appelle dans ma bdd les question de la table question puis les reponses dans la table reponse qui ont en commun l'id question. le nombre de question n'est donc pas fixeµ.
Dans chaque question il y a une zone 'autre' individuelle .
la fonction js qui sui me permet de rendre visible ou non le champs text quan l'utilisateur clik sur autre.
voici ma fonction :
function RendVisibleAutre(texte)
{
if (texte=="autre")
document.getElementById("autre_reponse").style.visibility= 'visible';
else
document.getElementById("autre_reponse").style.visibility= 'hidden';
}
</script>
voici son utilisation :
<?php
$i=0;
$i=i++;
echo "<SELECT size=1 onchange='RendVisibleAutre(this.value,autre_reponse".$i.")'
name='reponse".$nbQuestion."'> ";
foreach ($lResult4 as $row4)
{
//affichage des reponse possible dasn option
$reponse=$row4['id_reponse'];
echo "\n".'<option value='.$row4['id_reponse'].'>';
echo $row4['intitule_reponse'];
//echo $reponse;
echo '</option>';
}
echo "<option value='autre'>autre</option></SELECT>";
?>
<p><div id='autre_reponse"<?echo $i?>"' style="visibility:hidden;position:absolute;">
<input type="text" name='autre'></div>
</p>
ca ne fonctionne pas :(
cela vien peut etre du fait que je ne passe pas la variable $i dans la fonction js?
ou alors j'ai mal formuler ma fonction???
je ne voi pas... svpp ... help ...
je m'adresse a vous car je nai pas encore obtenu de solution
me voici avec un souci :( dans un formulaire de question reponse dynamique dans l'affichage de chaque liste de reponse il y a une option autre qui permet d'afficher un champs text au cas ou les reponses ne conviennent pas a lutilisateur. j'appelle dans ma bdd les question de la table question puis les reponses dans la table reponse qui ont en commun l'id question. le nombre de question n'est donc pas fixeµ.
Dans chaque question il y a une zone 'autre' individuelle .
la fonction js qui sui me permet de rendre visible ou non le champs text quan l'utilisateur clik sur autre.
voici ma fonction :
function RendVisibleAutre(texte)
{
if (texte=="autre")
document.getElementById("autre_reponse").style.visibility= 'visible';
else
document.getElementById("autre_reponse").style.visibility= 'hidden';
}
</script>
voici son utilisation :
<?php
$i=0;
$i=i++;
echo "<SELECT size=1 onchange='RendVisibleAutre(this.value,autre_reponse".$i.")'
name='reponse".$nbQuestion."'> ";
foreach ($lResult4 as $row4)
{
//affichage des reponse possible dasn option
$reponse=$row4['id_reponse'];
echo "\n".'<option value='.$row4['id_reponse'].'>';
echo $row4['intitule_reponse'];
//echo $reponse;
echo '</option>';
}
echo "<option value='autre'>autre</option></SELECT>";
?>
<p><div id='autre_reponse"<?echo $i?>"' style="visibility:hidden;position:absolute;">
<input type="text" name='autre'></div>
</p>
ca ne fonctionne pas :(
cela vien peut etre du fait que je ne passe pas la variable $i dans la fonction js?
ou alors j'ai mal formuler ma fonction???
je ne voi pas... svpp ... help ...
7 mai 2008 à 09:32
merci pour ta réponse. en faite ce sont des lignes qui sont passé à la trappe. mais mon soucie n'est pas reglé pour autant.
Lorsque je selectionne gardien, le selected avatar selectionne l'image concerné mais n'affiche pas pour autant dans archetype soldat :(