Accueil > Forum > > > > Formulaire, onchange et javascript
Formulaire, onchange et javascript
vendredi 27 mai 2011 à 18:35:45 |
Formulaire, onchange et javascript

ghetto95
|
Bonjour,
J'essai depuis plusieurs jours de trouver un moyen de faire un formulaire "intelligent", c'est à dire qu'il afficherai certains champs en fonction de ce que l'utilisateur aura choisit... En gros, dans un select, l'utilisateur choisit une valeur, et en fonction de cette valeur, on affiche certains champs et on en cache d'autres... Mais je ne sais pas quoi mettre dans le onchange.... Pour la delimitation, je pense que je dois utiliser div non??? Un code étant plus parlant, je vous montre ce que j'ai commencé a faire :
<td>Fruits et Légumes</td>
<td> : </td>
<td>
<div>
<select name="fretleg" onchange="????????">
</div>
<option value="fruits">FRUITS</option>
<option value="legumes">LEGUMES</option>
</select>
</tr>
<p>
<div id="fruits" style="display:block">
<tr>
<td>Pomme</td>
<td> : </td>
<td> <input type="text" name="pomme" value="" size="23" maxlength="10"></td>
</tr>
<p>
<tr>
<td>Poire </td>
<td> : </td>
<td> <input type="text" name="poire" value="" size="23" maxlength="10"></td>
</tr>
<p>
<tr>
<td>Ananas</td>
<td> : </td>
<td> <input type="text" name="ananas" value="" size="23" maxlength="10"></td>
</tr>
<p>
<tr>
<td>Orange</td>
<td> : </td>
<td> <input type="text" name="orange" value="" size="23" maxlength="10"></td>
</tr>
</div>
<div id="legumes" style="display:none">
<tr>
<td>Haricots </td>
<td> : </td>
<td> <input type="text" name="haricots" value="" size="23" maxlength="10"></td>
</tr>
<p>
<tr>
<td>Tomates</td>
<td> : </td>
<td> <input type="text" name="tomates" value="" size="23" maxlength="10"></td>
</tr>
<p>
</div>
</table>
<input type="submit" value="send" name="Send">
</form>
</html>
Je suppose que cela ne doit pas être compliqué, mais je ne sais pas faire. Merci de votre aide.
|
|
vendredi 27 mai 2011 à 21:27:14 |
Re : Formulaire, onchange et javascript

007Julien
|
Quel curieux tableau sans balise de début, avec des paragraphes ou des div entre les lignes ???
|
|
samedi 28 mai 2011 à 00:05:40 |
Re : Formulaire, onchange et javascript

ghetto95
|
Merci de ton intérêt. Je n'ai pas copié tout le code. J'ai juste pris le nécessaire pour que l'on puisse m'aider à solutionner mon problème.... A la base, mon tableau ne comporte pas de "div", mais je pensai qu'il fallais que je les rajoute pour le "onchange" car je crois qu'il se base sur l'id et surtout le div pour délimité la partie à afficher. Je ne suis pas sur du tout de ce que je te dis... Je cherche justement à comprendre comment cela fonctionne.
|
|
samedi 28 mai 2011 à 01:27:55 |
Re : Formulaire, onchange et javascript

007Julien
|
Un code plus parlant ?
Quelques précisions sous forme de commentaires
Code HTML :
// Qu'est ce que ce <td> sans <table> ni ouverture de ligne <tr> préalables ?
<td>Fruits et Légumes</td>
<td> : </td>
<td>
// Une div dans un <td> passe encore mais pourquoi la fermer avant la fin du select ??
<div>
<select name="fretleg" onchange="????????">
</div>
<option value="fruits">FRUITS</option>
<option value="legumes">LEGUMES</option>
</select>
// Une fermeture non ouverte de quelle ligne ???
</tr>
// Un paragraphe et une div non fermés entre deux lignes ????
<p>
<div id="fruits" style="display:block">
<tr>
<td>Pomme</td>
<td> : </td>
<td> <input type="text" name="pomme" value="" size="23" maxlength="10"></td>
</tr>
// De nouveau un paragraphe alors que l'autre n'est pas fermé ?????
<p>
<tr>
Même si l'on peut admettre que les premières balises figurent plus haut dans le code, les suivantes sont incompréhensibles. Comment les navigateurs pourraient-ils s'y retrouver ? Ce n'est pas possible des cliquer-déplacer vous jouent des tours ?
|
|
samedi 28 mai 2011 à 11:10:17 |
Re : Formulaire, onchange et javascript

ghetto95
|
J'ai un peu retravaillé le code en tenant compte de vos commentaires. Concernant ma demande, j'aurai juste aimer que les champs qui sont dans le dans le div dont l'id=fruit s'affiche quand on sélectionne fruit dans le select et uniquement ceux là, et inversement pour les légumes (c-à-d que quand on selectionne légume, uniquement les champs légumes apparaissent et les champs fruits disparaissent). Merci de votre réponse.
|
|
samedi 28 mai 2011 à 11:11:41 |
Re : Formulaire, onchange et javascript

ghetto95
|
Voilà le code :
Code HTML : <html>
<form>
<table>
<tr>
<td>Fruits et Légumes</td>
<td> : </td>
<td>
<select name="fretleg" onchange="????????">
<option value="fruits">FRUITS</option>
<option value="legumes">LEGUMES</option>
</select></td>
</tr>
<div id="fruits" style="display:block">
<tr>
<td>Pomme</td>
<td> : </td>
<td> <input type="text" name="pomme" value="" size="23" maxlength="10"></td>
</tr>
<tr>
<td>Poire </td>
<td> : </td>
<td> <input type="text" name="poire" value="" size="23" maxlength="10"></td>
</tr>
<tr>
<td>Ananas</td>
<td> : </td>
<td> <input type="text" name="ananas" value="" size="23" maxlength="10"></td>
</tr>
<tr>
<td>Orange</td>
<td> : </td>
<td> <input type="text" name="orange" value="" size="23" maxlength="10"></td>
</tr>
</div>
<div id="legumes" style="display:none">
<tr>
<td>Haricots </td>
<td> : </td>
<td> <input type="text" name="haricots" value="" size="23" maxlength="10"></td>
</tr>
<tr>
<td>Tomates</td>
<td> : </td>
<td> <input type="text" name="tomates" value="" size="23" maxlength="10"></td>
</tr>
</div>
</table>
<input type="submit" value="Envoyer" name="send">
</form>
</html>
|
|
samedi 28 mai 2011 à 12:10:25 |
Re : Formulaire, onchange et javascript

007Julien
|
Je suis mal expliqué.
Hormis quelques balises spécifiques (genre <tbody> ou <th>), la définition de tableaux en HTML ne souffre pas, entre les balises d'ouverture <table> et de fermeture </table>, d'autres éléments que des <tr> et des <td> !
Il n'est donc pas possible d'intercaler des div pour masquer certaines cellules !
Voici un code qui précise, en outre, comment appeler une fonction dans le onchange (le this designe l'objet select, le this.value la valeur de l'option sélectionnée).
Les fonctions aff et cch sont définies en javascript et comportent des alert pour montrer comment cela fonctionne.
Code HTML : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="fr">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="generator" content="PSPad editor, www.pspad.com">
<title>Untitled</title>
<style type="text/css">
</style>
</head>
<body>
<select name="frtlgm" onchange="aff(this.value)">
<option value="frt">Fruits</option>
<option value="lgm">Légumes</option>
</select>
<div id="frt">
<table>
<tr><td>pommes</td></tr>
<tr><td>poires</td></tr>
<tr><td>bananes</td></tr>
</table>
</div>
<div id="lgm">
<table>
<tr><td>oignons</td></tr>
<tr><td>poireaux</td></tr>
<tr><td>carottes</td></tr>
</table>
</div>
<script type="text/javascript">
// Les id des elements
var elm=['frt','lgm'];
function aff(e){alert('affiche '+e);
var j;
// Cacher tous les éléments
for (j=0;j<elm.length;j++) cch(elm[j]);
// Afficher celui-demandé
document.getElementById(e).style.display='block';
}
function cch(e){ alert('cache '+e);
// Cacher l'élément e
document.getElementById(e).style.display='none';
}
cch('frt');
cch('lgm');
</script>
</body>
</html>
|
|
samedi 28 mai 2011 à 13:45:55 |
Re : Formulaire, onchange et javascript

ghetto95
|
Génial et merci encore pour toutes ces informations et ce code. Cela fonctionne à merveille et je comprends mieux mes erreurs. Cependant, j'ai juste une question:
- Quand je sélectionne legume par exemple, il me dit qu'il affiche les legumes, ensuite qu'il cache les fruits et qu'il cache les légumes... Du coup, je ne comprends pas trop mais, le resultat est correct. Idem quand je sélectionne fruits.
Juste une petite remarque, quand on lance l'affichage de la page, par défaut, il est sur fruit, mais il ne nous affiche rien car on cache de base les fruits et les légumes... Donc je pense qu'il faut cacher uniquement les legumes au lieu des deux (tout en bas du script)...
Mais merci encore.
|
|
samedi 28 mai 2011 à 21:02:17 |
Re : Formulaire, onchange et javascript

007Julien
|
Oui, effectivement, les instructions des fonctions sont exécutées pas à pas.
Ainsi la sélection de légumes lance la fonction affiche (l'argument e prenant la valeur lgm). Cette fonction lance alors l'alerte alert('affiche '+lgm).
Ensuite, elle commence par cacher tous les éléments en appelant la fonction cch() avec frt puis lgm. Cette fonction affiche à son tour l'alerte alert('cache '+ lgm) ... etc.
À l'ouverture de la page, les premières options ne sont pas sélectionnée mais seulement présélectionnée par le navigateur, l'ajout d'un attribut selected="selected" à une option quelconque entrainerait une vraie sélection mais présenterait l'inconvénient de neutraliser le onchange.
|
|
samedi 28 mai 2011 à 22:50:18 |
Re : Formulaire, onchange et javascript
|
Cette discussion est classée dans : javascript, fonction, formulaire, champs, onchange
Répondre à ce message
Sujets en rapport avec ce message
verif formulaire. [ par kikos ]
Slt à tous,j'utise une fonction javascript qui permet de vérifier qu'il n'y ai po de lettre dans le champs :function verifcode(car) {// exclusivement
Une fonction javascript specifique à inclure dans le bouton valider [ par carmen256 ]
J' ai un problème de code . Je voudrai insérer une fonction spécifique dans un bouton valider .Une page html nommé formulaire contient deux champs tex
Vérifier le champs "heure" d'un formulaire [ par bcsh ]
Bonjour à tous !J'ai besoin d'aide, car je cherche le moyen de controler par javascript si un champ dans lequel il faut insérer une certaine heure res
Conserver les champs d'un formulaire après un reload [ par mdelepin ]
Salut à tous,Voilà, je souhaiterais recharger une page tout en conservant les champs remplis du formulaire. Pour cela, je récupère les valeurs des cha
fonction javascript [ par CHABRY ]
Bonjour,j'ai voulu à travers un fichier .js valider un formulaire et précisément un champs "code postal" qui doit être un nombre.La fonction "is_num(i
javascript onkeyup event.keyCode probleme [ par natsou_k ]
Bonjour, j'ai un petit probleme en javascript voici mon appel de fonction et ma fonction :function clickformulaire(a,formulaire,element){
probleme de verification de formulaire avec remplissage des champs text dynamiquement [ par niko14 ]
Salut tout le monde! Donc voila mon probl&
Probleme d'execution PHP dans fonction javascript [ par mig49 ]
Bonjour,J'ai un formulaire d'inscription, l'idée, c que le mot de passe envoyé est Hashé en javascript avant d'etre envoyé sur le serveur qui executer
Validateurs de formulaire. [ par CHABRY ]
Bonjour. On m'a demandé d'implémenter un ensemble de fonctions javascript GENERIQUES ayant pour rôle de valider les informations saisies lors d'un fo
Fonction Javascript [ par yacouba85 ]
Bonjour je voulais savoir s'il était possible d'insérer du code PHP dans une fonction javascript? comme ceci: function sauvegarder(formulaire, liste)
Livres en rapport
|
Derniers Blogs
JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc
Forum
UTILISER UN .JSUTILISER UN .JS par zaikoe
Cliquez pour lire la suite par zaikoe
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|