Bonjour j'aimerais arriver à vider tous les éléments d'un formulaire en une seule commande, même les hidden.
Est-ce que y'a quelqu'un qui saurait comment faire!?!
Version imprimable
Bonjour j'aimerais arriver à vider tous les éléments d'un formulaire en une seule commande, même les hidden.
Est-ce que y'a quelqu'un qui saurait comment faire!?!
_form étant l'id du formulaireCode:
1
2 document.getElementById('_form').reset();
Cela ne fonctionne pas, est-ce que c'est possible que ce soit parce que j'ai plus d'un formualire dans ma page...
Mon code qui fonctionne pas:
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 function ChangementDemande(idDemande) { var numDemande if (idDemande < 0) idDemande = 0; else { if (parseInt(idDemande) > parseInt(document.form1.maxId.value)) { idDemande = 0; } } if (idDemande == 0) numDemande = ""; else numDemande = idDemande; document.getElementById('form1').reset(); document.form1.id.value = idDemande; SoumettreForm(); }
montre ce que tu as mit comme déclaration de ton formulaire
tu as tu mit ?
je crois que non car tu fait l'appel de ton formulaire de cette facon (a éviter)Code:
1
2 <form id="form1">
donc tu n'as pas mit d'id, il faut donc en rajouter 1 ou encore faire l'appel obsolete de cette manièreCode:
1
2document.form1
Code:
1
2 document.form1.reset()
Voici mon l'appel de mon form
Je ne savais pas que ma méthode était obsolete, donc à l'avenir je l'éviterai!!!Code:
1
2 <form method="post" ACTION="<%= strLink1%>" target="_self" id="form1" name="form1">
essaye ceci
Code:
1
2 <form method="post" ACTION="<%= strLink1%>" target="_self" id="_form1" name="form1">
aussi, il ne te manque pas un $ pour ta variable perl strLink1 ?Code:
1
2 document.getElementById('_form1').reset()
Code:
1
2ACTION="<%=$strLink1%>"
Cela ne fonctionne toujours pas
Mon form:
Ma function:Code:<form method="post" ACTION="<%= strLink1%>" target="_self" id="_form1" name="form1">
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 function ChangementDemande(idDemande) { var numDemande if (idDemande < 0) idDemande = 0; else { if (parseInt(idDemande) > parseInt(document.getElementById('maxId').value)) { idDemande = 0; } } if (parseInt(idDemande) == 0) numDemande = ""; else numDemande = idDemande; document.getElementById('_form1').reset(); document.getElementById('id').value = numDemande; SoumettreForm(); }
chez moi ca fonctionne tres bien
mon alert me retourne une chaine vide a cause de la méthode reset appeler sur mon formulaire.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 <body bgcolor="#FFFFFF" text="#000000"> <form id="_form" method="post" action="http://www.adresse.fr"> <input type="radio" name="group1" value="Milk"> Milk<br> <input type="radio" name="group1" value="Butter" checked> Butter<br> <input type="radio" name="group1" value="Cheese"> Cheese <input type="text" value="text" name="t" id="_t"> <input type="button" value="bla" onclick="test();"> <input type="hidden" value="" name="h" id="_h"> </form> </body> <script> function test() { document.getElementById('_h').value ="du texte"; document.getElementById('_form').reset(); alert(document.getElementById('_h').value); } </script>
Reset remet les champs du formulaire à la forme initiale. CAD si ton champs hidden ne contient rien initialement et que dans une fonction javascript tu lui donne une value et que ensuite tu applique la fonction reset sur ton formulaire ... et bien ton champs hidden va reprendre sa valeur par defaut CAD une chaine vide
Je sais pas pourquoi ça fonctionne pas
J'ai un hidden avec mon form:
Ensuite avec un bouton j'active ma fonctionCode:
1
2 <form method="post" ACTION="<%= strLink1%>" target="_self" id="_form1" name="form1"> <input type="hidden" name="listeProg" value="<%= strProgramme%>">
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 function ChangementDemande(idDemande) { var numDemande if (idDemande < 0) idDemande = 0; else { if (parseInt(idDemande) > parseInt(document.getElementById('maxId').value)) { idDemande = 0; } } if (parseInt(idDemande) == 0) numDemande = ""; else numDemande = idDemande; /*document.getElementById('programme').value = ""; document.getElementById('listeProg').value = ""; document.getElementById('fichier').value = ""; document.getElementById('listefichier').value = ""; document.form1.listeProg.value = ""; document.form1.fichier.value = ""; document.form1.listeFichier.value = ""; document.form1.responsable.value = "";*/ //document.getElementById('form1').reset(); document.getElementById('_form1').reset(); document.getElementById('id').value = numDemande; //document.form1.id.value = numDemande; //form1.submit(); SoumettreForm(); }
Et si je fait une Request.Form("listeProg") ça m'affiche encore la valeur de listeProg et pourtant la valeur de strProgramme que j'affiche dans mon hidden vient de mon Request.Form, si mon form est vide y'a rien dedans
J'crois que je vais continuer comme j'étais parti, je vais les vider un à un, ainsi ça fonctionne, c'est vraiment pas hot, mais c'est la seule méthode qui fonctionne
Tu peux peut -être essayer un truc du gout de :
document.form1.elements[] qui te récupérera le tableau de tous les elements du formulaire, après une boucle dessus pour affecter les valeurs à vide.
Tu peux faire un:Citation:
Envoyé par Poussy-Puce
Qui te renverra un vecteur des inputs de ton formulaire. A partir de là, avec un minimum de vérfication sur le type des inputs (type=file en particulier n'est pas atteignable par script), tu remets tous les inputs de ton formulaire à 0. Après, il te reste à faire la même manoeuvre pour les textareas et les selects (enventuellement).Code:
1
2 document.getElementById("_form1").getElementsByTagName("input")