IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Vider un formulaire


Sujet :

JavaScript

  1. #1
    Membre éclairé Avatar de Poussy-Puce
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2005
    Messages : 357
    Par défaut Vider un formulaire
    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!?!

  2. #2
    Membre émérite
    Avatar de shwin
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2003
    Messages : 568
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementById('_form').reset();
    _form étant l'id du formulaire

  3. #3
    Membre éclairé Avatar de Poussy-Puce
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2005
    Messages : 357
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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();
    }

  4. #4
    Membre émérite
    Avatar de shwin
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2003
    Messages : 568
    Par défaut
    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)
    donc tu n'as pas mit d'id, il faut donc en rajouter 1 ou encore faire l'appel obsolete de cette manière
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.form1.reset()

  5. #5
    Membre éclairé Avatar de Poussy-Puce
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2005
    Messages : 357
    Par défaut
    Voici mon l'appel de mon form

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <form method="post" ACTION="<%= strLink1%>" target="_self" id="form1" name="form1">
    Je ne savais pas que ma méthode était obsolete, donc à l'avenir je l'éviterai!!!

  6. #6
    Membre émérite
    Avatar de shwin
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2003
    Messages : 568
    Par défaut
    essaye ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <form method="post" ACTION="<%= strLink1%>" target="_self" id="_form1" name="form1">
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementById('_form1').reset()
    aussi, il ne te manque pas un $ pour ta variable perl strLink1 ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ACTION="<%=$strLink1%>"

  7. #7
    Membre éclairé Avatar de Poussy-Puce
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2005
    Messages : 357
    Par défaut
    Cela ne fonctionne toujours pas

    Mon form:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form method="post" ACTION="<%= strLink1%>" target="_self" id="_form1" name="form1">
    Ma function:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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();
    }

  8. #8
    Membre émérite
    Avatar de shwin
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2003
    Messages : 568
    Par défaut
    chez moi ca fonctionne tres bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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>
    mon alert me retourne une chaine vide a cause de la méthode reset appeler sur mon formulaire.

    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

  9. #9
    Membre éclairé Avatar de Poussy-Puce
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2005
    Messages : 357
    Par défaut
    Je sais pas pourquoi ça fonctionne pas

    J'ai un hidden avec mon form:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <form method="post" ACTION="<%= strLink1%>" target="_self" id="_form1" name="form1">
    <input type="hidden" name="listeProg" value="<%= strProgramme%>">
    Ensuite avec un bouton j'active ma fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  10. #10
    Membre éclairé Avatar de Poussy-Puce
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2005
    Messages : 357
    Par défaut
    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

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 92
    Par défaut
    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.

  12. #12
    Expert confirmé

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Par défaut
    Citation Envoyé par Poussy-Puce
    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 faire un:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementById("_form1").getElementsByTagName("input")
    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).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2.x] Vider un formulaire après validation
    Par Elwood J. Blues dans le forum Symfony
    Réponses: 7
    Dernier message: 11/06/2012, 16h16
  2. Comment vider un formulaire, réinitialiser un UserCntrol?
    Par takinelinfo dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 09/06/2011, 11h00
  3. vider un formulaire en cas de "coller"
    Par Him dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 07/01/2009, 13h30
  4. Bouton pour 'vider' mon formulaire
    Par Laure041 dans le forum IHM
    Réponses: 5
    Dernier message: 23/04/2008, 12h49
  5. problème pour vider un formulaire
    Par jomannix dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 26/06/2007, 15h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo