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 :

Recherche de solution :onLoad


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 10
    Par défaut Recherche de solution :onLoad
    Salut,

    Lors du chargement d'un formulaire, il faudrait que j'effectue un calcul pour trouver le cout d'un deplacement avec une constante :0.28 € par km

    Voici une partie de mon script:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     $ligne.= "<TR><td align='center'><font size='-1'>
            <input name='deplacement[$l]' type='text' value='$nomdep' size='33' align='right'>
    
            <input type='button' name='lien' value='Visualiser' onClick='ouvrirdeplacement($l)' ></font></td>
    
            <td><INPUT name='KM[$l]' type='text' value='$kmdep' align='right' onchange=\"window.document.ficheactiviteform.elements['Cout[$l]'].value=0.28*window.document.ficheactiviteform.elements['KM[$l]'].value\"></td>
    
            <td><input name='Cout[$l]' disabled type=text onload=\"this.value=0.28*window.document.ficheactiviteform.elements['KM[$l]'].value\"></td>
    
            <td><INPUT name='AutreCout[$l]' type='text' value=''></td> </TR> ";
    Le Onchange marche niquel mais le onLoad ne marche pas.
    Savez vous pourquoi?

    Je vous remercie pour vos reponses

  2. #2
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonjour,

    l'événement onload ne s'applique que sur la balise body.

  3. #3
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 10
    Par défaut
    Je te remercie de ta reponse.

    Mais alors comment dois je m'y prendre pour que le cout se remplisse au chargement si ce n'est pas l'evenement onLoad.

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par Auteur Voir le message
    bonjour,

    l'événement onload ne s'applique que sur la balise body.
    Donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body onload=\"this.value=0.28*window.document.ficheactiviteform.elements['KM[$l]'].value\">
    EDIT :
    En modifiant bien sûr le this !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    juste pour la propreté et maintenance du code , je placerais cette portion dans une méthode

  6. #6
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 10
    Par défaut
    Je suis desole ça ne marche toujours pas.
    Il me met cette erreur.
    window.document.ficheactiviteform.elements['KM[$l]'] has no properties




    <SCRIPT>
    function affectercout()
    {
    window.document.ficheactiviteform.elements['Cout[$l]'].value=0.28*window.document.ficheactiviteform.elements['KM[$l]'].value;
    }

    ......

    <body class="defaulttext" onload="affectercout()" bgcolor="#f0f0f0">


    .........


    <?php
    $ligne.= "<TR><td align='center'><font size='-1'>
    <input name='deplacement[$l]' type='text' value='$nomdep' size='33' align='right'>
    <input type='button' name='lien' value='Visualiser' onClick='ouvrirdeplacement($l)' >
    </font></td>
    <td><INPUT name='KM[$l]' type='text' value='$kmdep' align='right' onchange=\"window.document.ficheactiviteform.elements['Cout[$l]'].value=0.28*window.document.ficheactiviteform.elements['KM[$l]'].value\"></td>
    <td><input name='Cout[$l]' disabled type=text ></td>
    <td><INPUT name='AutreCout[$l]' type='text' value=''></td> </TR>";
    ?>


    ......



    <form action="ficheactivite_handler.php" method="post" name="ficheactiviteform">


    .....


    <?php echo $ligne;?>

  7. #7
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function affectercout()
    {
    coutElement=window.document.ficheactiviteform.elements['Cout['+0+']'];
    for(i=0;coutElement;){
    coutElement.value=0.28*window.document.ficheactiviteform.elements['KM['+i+']'].value;
    i++
    coutElement=window.document.ficheactiviteform.elements['Cout['+i+']'];
    }
     
    }
    au pifaumetre

  8. #8
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par défaut
    Hors forum: fais le côté serveur :
    $cout=$kmdep*0.28
    ...

    <input name='Cout[$l]' disabled type="text"
    value='$cout'
    >

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

Discussions similaires

  1. recherche une solution
    Par kaddourinfo dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 30/01/2008, 17h04
  2. Recherche de solution pour statistiques
    Par Orakle dans le forum Statistiques, Data Mining et Data Science
    Réponses: 7
    Dernier message: 18/01/2008, 14h31
  3. Recherche de solution
    Par the best dans le forum Access
    Réponses: 4
    Dernier message: 26/08/2006, 20h58
  4. Recherche de solution réseau pour micro entreprise
    Par louroulou dans le forum Serveurs (Apache, IIS,...)
    Réponses: 6
    Dernier message: 19/07/2006, 08h45
  5. Réponses: 4
    Dernier message: 10/06/2006, 10h04

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