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 :

récupération donnée formulaire


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 18
    Par défaut récupération donnée formulaire
    bonjour,

    j'ai un problème avec mon code javascript, je suis débutant...

    je veux additionner les valeurs saisies dans les 2 premiers champs et afficher le résultat dans le 3ème champ.

    le premier problème c'est que dés que je passe par une fonction ça ne fonctionne pas...j'utilise pourtant la bonne synthaxe.

    j'ai donc essayé d'écrire directement la fonction dans le OnKeyUp, ça marche pour un de mes formulaires ^^

    mais pour celui là par exemple, ça ne fonctionne pas .... ça reste blanc ou au pire ça me marque [object HTMLInputElement] dans le champ résultat ...et je ne vois pas d'où vient le problème :s

    voici le code :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <form action="#" method="post" id="Form" name="Form">	
    <p><label title="Veuillez saisir la distance parcourue" for="dist">distance :</label>
    <input type="text" size='6' maxlength='6' title="Veuillez saisir la distance parcourue" id="dist" name="dist" value="<?php if(isset($_POST['dist'])) {echo $_POST['dist'];}?>" OnKeyUp="dist=parseInt(document.getElementById('dist')); dist2=parseInt(document.getElementById('dist2')); document.getElementById('TotalKm')=dist+dist2;" /> km
    </p>
    <p><label title="Veuillez saisir la distance parcourue" for="dist2">distance 2 :</label>
    <input type="text" size='6' maxlength='6' title="Veuillez saisir la distance parcourue" id="dist2" name="dist2" value="<?php if(isset($_POST['dist2'])) {echo $_POST['dist2'];}?>" OnKeyUp="dist=parseInt(document.getElementById('dist2')); dist2=parseInt(document.getElementById('dist2')); document.getElementById('TotalKm')=dist+dist2;" /> km
    <br/>
    </p>
    <p>Total km:
    <input type="text" size='20' maxlength='6' title="Total Km D&eacute;placement" id="TotalKm" name="TotalKm" readonly />
    </p>
    </form>
    merci de votre aide

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Mai 2010
    Messages
    345
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 345
    Par défaut
    document.getElementById('dist2').value

    il te manque le .value un peu partout

    Mais si tu mettais ton code dans une fonction (ça ne tueras personne) tu verras beaucoup plus clair

    http://jsfiddle.net/QLdpg/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <form action="#" method="post" id="Form" name="Form">    
    <p><label title="Veuillez saisir la distance parcourue" for="dist">distance :</label>
    <input type="text" size='6' maxlength='6' title="Veuillez saisir la distance parcourue" id="dist" name="dist" value="2" onkeyup="updateResult()" /> km
    </p>
    <p><label title="Veuillez saisir la distance parcourue" for="dist2">distance 2 :</label>
    <input type="text" size='6' maxlength='6' title="Veuillez saisir la distance parcourue" id="dist2" name="dist2" value="5" onkeyup="updateResult()" /> km
    <br/>
    </p>
    <p>Total km:
    <input type="text" size='20' maxlength='6' title="Total Km D&eacute;placement" id="totalKm" name="TotalKm" readonly />
    </p>
    </form>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function updateResult() {
        var dist=parseInt(document.getElementById('dist').value); 
        var dist2=parseInt(document.getElementById('dist2').value);
        document.getElementById('totalKm').value=dist+dist2;}

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 18
    Par défaut
    merci j'avais déjà essayer cette solution, mais le résultat est le même, aucune valeur dans le 3ème champ, pourtant effectivement ça fonctionne dans jsfiddle :s

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    Citation Envoyé par jman94 Voir le message
    j'avais déjà essayer cette solution, mais le résultat est le même
    il ne s'agit pas d' "une autre solution" mais de la seule manière de faire dans ton cas.

    Fais la correction, re-teste et si ça ne fonctionne toujours pas, montre-nous ton code corrigé.
    Rien ne dit que ça soit la seule erreur

    A+

  5. #5
    Inactif  

    Profil pro
    Inscrit en
    Mai 2010
    Messages
    345
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 345
    Par défaut
    Citation Envoyé par jman94 Voir le message
    merci j'avais déjà essayer cette solution, mais le résultat est le même, aucune valeur dans le 3ème champ, pourtant effectivement ça fonctionne dans jsfiddle :s
    Tips : tu vois le lien avant le code c'est un lien vers jsfiddle.net avec le code que je t'ai mis, et bizarrement ça marche parfaitement

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 18
    Par défaut
    merci tout le monde, alors en fait j'ai trouvé l'erreur, une fonction javascript que j'avais déjà mise, empêchait apparemment la bonne execution de mon script de calcul...sans pour autant comprendre l'erreur ^^ j'aimerais donc un petit éclaircissement

    en fait j'ai inséré un script pour pouvoir annuler les valeurs de tous les champs du formulaires, pour éviter de les effacer un par un en cas d'erreur...

    j'avais trouvé ce script sur internet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    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="";}
    		}
    que j'ai donc appelé de cette façon à la fin de mon formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <p>
    <input type="reset" id="annuler" name="annuler" value="Annuler"  onclick="effacer(this.form); return false;" />
    <input type="submit" name="envoyer" value="Valider les modifications"  />
    </p>
    ce script de réinitialisation automatique des champs fonctionnent parfaitement par ailleurs, et me semblait logique et compréhensible en le trouvant ^^ ...sauf qu'il semble causer du soucis....

    pourriez vous m'expliquer pourquoi ?

    je précise qu'en le mettant en type submit et non reset cela fonctionne ... mais heu pourquoi ce reset pose problème en sachant que je n'ai jamais cliqué sur ce bouton avant d'essayer mon autre script :s ?

    merci

  7. #7
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Je ne sais pas pourquoi ça plantait, mais ce bouton est une sorte de pléonasme en soi
    Un peu comme si tu faisais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="submit" onclick="this.form.submit();">
    Tu as essayé avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="reset" id="annuler" name="annuler" value="Annuler">
    ?

    A+

Discussions similaires

  1. récupération données formulaire
    Par nocoment dans le forum Langage
    Réponses: 15
    Dernier message: 12/06/2007, 17h51
  2. Récupération donnée Formulaire
    Par n4rk0o dans le forum Langage
    Réponses: 1
    Dernier message: 23/04/2007, 18h19
  3. [SQL] php récupération données formulaire + requête sql
    Par cesoir dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 19/04/2007, 15h00
  4. HELP récupération données formulaire
    Par liichiii dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 17/05/2006, 00h29
  5. Récupération données formulaire en php5
    Par jcaspar dans le forum Langage
    Réponses: 1
    Dernier message: 08/03/2006, 20h45

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