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 :

Formulaire + Calculatrice = deux <form>


Sujet :

JavaScript

  1. #1
    Membre averti Avatar de c3dric49000
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2016
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juin 2016
    Messages : 22
    Par défaut Formulaire + Calculatrice = deux <form>
    Bonjour,
    Etant en difficulté avec un formulaire pourtant simple je demande de l’aide.

    Voilà j’ai un formulaire basique en HTML avec envoi dans une BDD en PHP, dans celui-ci ,j’ai une calculatrice automatique qui fonctionne avec un form : <form name="frm" method="post" action="" onSubmit="return testsubmit()"> , le problème c’est que cela me fait deux <form> dans mon formulaire et que donc soit l’envoi, soit la calculatrice ne fonctionne pas, j’aimerai un coup de main pour faire cohabité les deux.

    Merci à vous.

    Ps: voila le script que j'utilise pour la calculatrice :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <script type="text/javascript">
    function calcul()
    {
      document.frm.total1.value=Number(document.frm.quant1.value)*Number(document.frm.pu1.value);
      document.frm.totaux.value=Number(document.frm.total1.value)+Number(document.frm.total2.value)+Number(document.frm.total3.value);
    }
    </script>

  2. #2
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2003
    Messages
    1 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 309
    Par défaut
    Bonjour,

    avez-vous essayé de valider le formulaire (frm.submit()) dans la fonction javascript ?
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <form name="frm" method="post" action="" onSubmit="testsubmit()">
    ...
    </form>
    <script type="text/javascript">
    function testsubmit()
    {
        calcul();
        frm.submit();
    }
    </script>

  3. #3
    Membre averti Avatar de c3dric49000
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2016
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juin 2016
    Messages : 22
    Par défaut
    Bonjour et merci de votre réponse.

    En faite pour evité les deux form j'ai tous simplement change le JS qui est maintenant comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <script type='text/javascript'>
    function multiply(){
                    var quantite=(!isNaN(document.getElementById('quant1').value))?Number(document.getElementById('quant1').value):"x";
                    var prix=(!isNaN(document.getElementById('pu1').value))?Number(document.getElementById('pu1').value):"x";
                   document.getElementById('total1').value=(quantite!="x" && prix!="x")?quantite*prix:'???';
                    }  
     
    </script>
    Sachant que j'ai plusieurs ligne avec quant1 / pu1 / total1 -> quant2 / pu2 / total2 -> quant3 / pu3 / total3 etc ...

    Comment faire sans multiplié par le nombre de ligne la fonction multiply()
    Pour l'instant je fait comme cela, mais je pense qu'il y a plus simple, surtout je pense mettre ces ligne seulement si besoin (ajax) :

    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 multiply(){
    				var quantite=(!isNaN(document.getElementById('quant1').value))?Number(document.getElementById('quant1').value):"x";
    				var prix=(!isNaN(document.getElementById('pu1').value))?Number(document.getElementById('pu1').value):"x";
    			   document.getElementById('total1').value=(quantite!="x" && prix!="x")?quantite*prix:'???';
    				}
     
    function multiply2(){
    				var quantite2=(!isNaN(document.getElementById('quant2').value))?Number(document.getElementById('quant2').value):"x";
    				var prix2=(!isNaN(document.getElementById('pu2').value))?Number(document.getElementById('pu2').value):"x";
    			   document.getElementById('total2').value=(quantite2!="x" && prix2!="x")?quantite2*prix2:'???';
    				}

  4. #4
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2003
    Messages
    1 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 309
    Par défaut
    Pour éviter la duplication de code, passer le numéro de ligne en paramètre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <script type='text/javascript'>
    function multiply(id){
                    var quantite=(!isNaN(document.getElementById('quant'+id).value))?Number(document.getElementById('quant'+id).value):"x";
                    var prix=(!isNaN(document.getElementById('pu'+id).value))?Number(document.getElementById('pu'+id).value):"x";
                   document.getElementById('total'+id).value=(quantite!="x" && prix!="x")?quantite*prix:'???';
                    }  
     
    </script>

  5. #5
    Membre averti Avatar de c3dric49000
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2016
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juin 2016
    Messages : 22
    Par défaut
    Merci à toi c'est impeccable

Discussions similaires

  1. [2.x] [Form] Formulaire avec deux entités abstraites
    Par L0rD59 dans le forum Symfony
    Réponses: 1
    Dernier message: 24/03/2013, 21h43
  2. [formulaire] savoir si un form est vide
    Par francois78 dans le forum IHM
    Réponses: 3
    Dernier message: 07/11/2005, 15h23
  3. Formulaire avec deux boutons
    Par Oberown dans le forum Langage
    Réponses: 1
    Dernier message: 12/09/2005, 17h06
  4. Réponses: 7
    Dernier message: 19/10/2004, 16h12
  5. Réponses: 10
    Dernier message: 10/06/2004, 16h20

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