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 :

[POO] modification de value


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 8
    Points : 9
    Points
    9
    Par défaut [POO] modification de value
    bonjour
    Je suis un étudiant en BTS IG et je débute en java script et je fais un site de vente et je voudrai faire un caddie avec une texbox et deux bouton + et - comme dans beaucoup de site de vente.
    J'ai réussi à faire le script mais le problème est que la value de la textbox change une fraction de seconde et reprend sa valeur initial.
    Si quelqu'un peut m'aider à comprendre.
    Voici le code:
    <form id="form1" name="form1" method="post" action="">
    <label>
    <input type="submit" name="-" value="-" onclick="clickbutton(this,this.form);"/>
    <input name="qte" type="text" value=1 size="2" maxlength="2" />
    </label>
    <label>
    <input type="submit" name="+" value="+" onclick="clickbutton(this,this.form);" />
    </label>
    </form>
    <script type="text/javascript">



    function clickbutton(bouton,form)
    {
    var qte= parseInt(form.qte.value) ;
    if (bouton.value=="-")
    {
    form.qte.value = qte -1 ;
    }
    else if (bouton.value=="+")
    {
    form.qte.value = qte+1 ;
    }
    }


    </script>

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 211
    Points : 196
    Points
    196
    Par défaut
    Tout betement parce que tes boutons sont des "submit" au lieu d'etre des "button", donc meme si ton formulaire n'a pas d'action, le fait d'appuyer sur ton bouton recharge la page (car cela poste ton formulaire).
    Change juste submit pour button...

  3. #3
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 650
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 650
    Points : 11 141
    Points
    11 141
    Par défaut
    Autre remarque qui porte sur l'attribut name : donne à cet attribut un terme composé de lettres et de chiffres.

    Le fait d'écrire name="+" ou name="-" va de te poser des problèmes.
    Donc écris en toutes lettres : name="plus" et name="moins"

    Autre chose qui me chagrine, l'appel de ta fonction :
    Code htm : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    onclick="clickbutton(this,this.form);"

    dans ce cas this désigne l'objet qui génère l'événement onclick c'est à dire le bouton (this est donc un objet de type input) et non le document. Donc this.form me semble incohérent car le bouton (this) ne possède pas l'objet form.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 8
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par nabab Voir le message
    Tout betement parce que tes boutons sont des "submit" au lieu d'etre des "button", donc meme si ton formulaire n'a pas d'action, le fait d'appuyer sur ton bouton recharge la page (car cela poste ton formulaire).
    Change juste submit pour button...
    Merci nabab sa marche nikel


    Citation Envoyé par Auteur Voir le message
    Autre remarque qui porte sur l'attribut name : donne à cet attribut un terme composé de lettres et de chiffres.

    Le fait d'écrire name="+" ou name="-" va de te poser des problèmes.
    Donc écris en toutes lettres : name="plus" et name="moins"
    Merci Auteur, j 'ai suivi ton conseil pour les attributs name.

    Citation Envoyé par Auteur Voir le message
    Autre chose qui me chagrine, l'appel de ta fonction :
    Code htm : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    onclick="clickbutton(this,this.form);"

    dans ce cas this désigne l'objet qui génère l'événement onclick c'est à dire le bouton (this est donc un objet de type input) et non le document. Donc this.form me semble incohérent car le bouton (this) ne possède pas l'objet form.
    Par contre sa marche très bien this.form renvoi l'objet form dans laquelle elle se trouve.
    Quelques améliorations et sa roule. merci @+

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

Discussions similaires

  1. Oracle Partitionning : Modification ByRange Value
    Par toutchak dans le forum Oracle
    Réponses: 1
    Dernier message: 27/09/2009, 20h21
  2. [PHP 5.0] [POO] Modification d'un script codé en PHP4
    Par Magnat dans le forum Langage
    Réponses: 2
    Dernier message: 10/02/2009, 21h50
  3. [POO] Modif value champ suite clic sur un autre
    Par hari37 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 05/11/2008, 10h11
  4. [POO] modif graphique div
    Par franfr57 dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 13/10/2008, 11h05
  5. [POO] Modification attribut name sous IE
    Par anankee dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 08/10/2008, 10h44

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