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 :

Besoin d'un <input type="reset"> efficace


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Besoin d'un <input type="reset"> efficace
    Bonjour,

    j'ai une page qui contient un formulaire. Après avoir validé, les visiteurs peuvent encore revenir sur le formulaire pour modifier les contenus déjà entrés sur simple clic sur un bouton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="javascript:history.back(-1)"
    Mais la plupart des cas, cette fonction présente des surprises car on se trouve souvent sur un formulaire à nouveau vide. J'ai résolu ce problème avec PHP (utilisation de session).

    Maintenant, un autre problème survient: comment remettre à zéro toutes les valeurs du formulaire ? Ou plus précisément, comment vider tous les champs du formulaire ? Car un bouton <input type="reset" value="Effacer"> n'efface pas la valeur par défaut que j'ai introduit grâce au code PHP du type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" name="nom" value=" <? if (isset($_SESSION['nom'])) echo $_SESSION['nom']; ?>" />
    Merci de votre aide...

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 61
    Points : 92
    Points
    92
    Par défaut
    Tiens ca je savais pas ... comme quoi on en apprend tous les jours ...

    Bref, la solution la plus simple que je vois, c'est un input type="button" derrière lequel tu place une fonction, qui pour chaque champ du formulaire passe sa value à NULL.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    annuler()
    {
    // Compter le nombre de champ du formulaire (à moins de le passer en argument ? ...)
    Pour i=0 à i<nb_element par pas de 1
    {
    document.mon_formulaire.element[i].value='';
    }
    }
    c'est juste l'algo, étant donné que je suis pas très doué en js ...

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Merci à ton aide...

    J'ai une question, est-ce que cette methode permet-elle de réinitialser les valeurs des boutons radio et la liste de selection <select> ???

    Je suis pas sûr mais je vais essayer d'abord, merci à toi

  4. #4
    Futur Membre du Club
    Inscrit en
    Mars 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Merci bcp,
    c'est resolu:
    - pour ne pas traiter les éléments du formulaire un à un,
    - pour éviter que la fonction efface aussi les valeurs inscrits sur le bouton,
    - pour "remettre à zéro" les valeurs des liste <select> et bouton radio...

    j'ai utilisé plutôt une fonction du type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <script type="text/javascript">
    <!--
    function effacer(formulaire){
    for (var i=0; i<formulaire.length; i++){
    if (formulaire.elements[i].type=="radio" || formulaire.elements[i].type=="checkbox") {formulaire.elements[i].checked=false;}
    else if (formulaire.elements[i].type=="select-one") {formulaire.elements[i].options[0].selected=true;}
    else if (!(formulaire.elements[i].type=='reset' || formulaire.elements[i].type=='submit' || formulaire.elements[i].type=='button')) {formulaire.elements[i].value="";}
    }
    }
    //-->
    </script>
    Le bouton qui fera l'affaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="reset" onclick="effacer(this.form); return false;">
    A ceux qui passeront ici, ce lien vous évitera bcp de questions...
    http://www.rdjm.net/Outils/selfhtml/...ementshtml.htm

    Ciao ciao, merci quand même à Folken Laëneck !

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

Discussions similaires

  1. Bouton ( input type reset ) et navigateur google chrome
    Par fahmi.bedoui dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 30/06/2011, 03h16

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