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 :

calculs automatiques dans un formulaire dynamique


Sujet :

JavaScript

  1. #21
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 93
    Par défaut
    mé de rien !

    ok di moi ce que ca donne!

  2. #22
    Membre éprouvé Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Par défaut
    J'ai fait quelques modifs dans le JS, puis dans le form dynamique, et c'est nickel ! maintenant je vais tester ce qui se passe après le submit...car j'ai dû virer les tableaux php name='name[]'...
    Mais ça devrait le faire, je maitrise mieux php que JS !!!
    Je te dis quoi...

  3. #23
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 93
    Par défaut
    ok ben c'est cool alors.

    Ravi d'avoir pu t'aider!

  4. #24
    Membre éprouvé Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Par défaut
    oups ! si, une question, encore (en espérant pas trop te gonfler)...
    peux-t-on mettre deux fonctions sur un évènement ?

    style

    onChange = 'calcul_form()' , 'mafonction(this.value)'

    ou un truc du genre ?

    Parce qu'en fait, sur un des check box, si il est cliqué (c'est le texte en couleur), je démasque un champ qui affiche la boite de sélection couleur (style devient display)...

    Tu vois le truc ?

  5. #25
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 93
    Par défaut
    oui c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    <?php echo "<a href='#' onChange = 'calcul_form();mafonction(this.value);'>

  6. #26
    Membre éprouvé Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Par défaut
    erreur de syntaxe ! mais je crois que je me suis mal exprimé, et surtout que ce que j'ai fait en JS tient pas trop la route

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    function mafonction(val){
      if (val=='T_coul'){
     
    document.getElementById("cadre").style.display = '';
     
      }
      if (val!='T_coul'){
    document.getElementById("cadre").style.display = 'none';
      }
    }
    le input (qui est donc dans la boucle php affichant les checkbox)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    <input  type='checkbox' name='code$j' value='".$row["code"]."' 
    <a href= '#' onClick = 'calcul_form()' ; 'mafonction(T_coul)'>
    et après la boucle while,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    <tbody id='cadre' style='display:none'>
    //affichage pallette couleurs
    </tbody>

  7. #27
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 93
    Par défaut
    Citation Envoyé par renaud26

    <input type='checkbox' name='code$j' value='".$row["code"]."'
    <a href= '#' onClick = 'calcul_form()' ; 'mafonction(T_coul)'>
    c'est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    <input  type='checkbox' name='code$j' value='".$row["code"]."' 
    <a href= '#' onClick = 'calcul_form();mafonction(T_coul)'>
    les cotes!!!

  8. #28
    Membre éprouvé Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Par défaut
    allez...une petite dernière pour la route, et après, promis, je te laisse tranquille !

    la fonction mafonction(val) - voir mess précédent - fonctionne bien. Quand le check coul_T est coché, le <tbody> se démasque et le user peut choisir sa couleur. Le petit ennui, c'est que si il change d'avis et décoche ce check, le champ choix couleur reste quand même affiché...Ce qui paraît normal puisque le param $row["code"] passé en paramètre de mafonction() a toujours la valeur T_coul. J'ai d'ailleurs dû bidouiller le code du checkbox:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    <input  type='checkbox' name='code$j' value='".$row["code"]."'"; 
    if($row["code"] == "T_coul")
    { 
    echo "<a href='#'  onClick = 'calcul_form(); mafonction(this.value)'";
    }
    else{ 
    echo " onClick = 'calcul_form()'";
    }
    echo ">";

    T'as une idée ?

  9. #29
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 93
    Par défaut
    ok j'ai compris mais il y a plusieurs trucs qui me paraissent bizarre :

    notamment ton <a href="#" dans ton input.

    tu peux m'afficher ton code complet ?
    je verrais tout de suite mieux.

    merci

  10. #30
    Membre éprouvé Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Par défaut
    Effectivement, le <a href='#' ne sert à rien, je l'ai enlevé et ça fonctionne très bien. Comme tu me l'avais indiqué, j'ai cru qu'il fallait le rajouter

    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
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
     
    function mafonction(val){
      if (val=='T_coul'){
     
    document.getElementById("cadre").style.display = '';
     
      }
      if (val!='T_coul'){
    document.getElementById("cadre").style.display = 'none';
      }
    }
     
    **********
     
    $i=5;
    $j=0;
    while($row = mysql_fetch_array($sql2))
    {
    echo "<tr> 
    <td width='60%' class='".$row["classe"]."'>".$row["nom"]." ($mot)</td>
    <td width='20%'><input  type='checkbox' name='code$j' value='".$row["code"]."'";
    if($row["code"] == "T_coul"){ 
    echo " onClick = 'calcul_form(); mafonction(this.value)'";
    }
    else{ 
    echo " onClick = 'calcul_form()'";
    }
    echo "></td>
    <td width='20%'>Prix: <input class='input' type='text' name='prix$i' size='3' value='".$row["prix"]."' 
    readonly='' onChange = 'calcul_form()' > €</td>
    </tr>";
    $i++;
    $j++;
    }
    echo "<tbody id='cadre' style='display:none'><tr>
    <td>Choisissez votre couleur de texte</td>"; 
    ?>
    <td><img src="images/color.gif" width="21" height="20" border="0" align="absmiddle" 
    onClick="CP.Show('coul_texte', 'right');"></td>
    <?php
    echo "<td><input name='coul_texte' type='text'  size='7' maxlength='7' class='input'>
    </td></tr></tbody>";

  11. #31
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 93
    Par défaut
    rajoute un paramètre "actuel" dans ta fonction js et tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    if($row["code"] == "T_coul"){ 
    echo " onClick = 'calcul_form(); mafonction(this.value,0)'";
    }
    else{ 
    echo " onClick = 'calcul_form()'; mafonction(this.value,1)";
    }
    puis dans ton js :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
     
     
    function mafonction(val, actuel){
     if (actuel == '0'){
     if (val=='T_coul'){
     
    document.getElementById("cadre").style.display = '';
     
      }
      if (val!='T_coul'){
    document.getElementById("cadre").style.display = 'none';
      }
    }
    else
    {
    document.getElementById("cadre").style.display = 'none';
    }
    }

  12. #32
    Membre éprouvé Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Par défaut
    a mon tour de m'excuser d'être lourd...
    mais ça ne change rien, le <tbody> de se masque pas au décochage du checkbox...

  13. #33
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 93
    Par défaut
    ah bah oui je suis bete ta page n'est pas réactualisé donc le checkbox ne change pas.

    essaie plutôt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    function mafonction(val, actuel){
     if (document.getElementById("cadre").style.display == 'none'){
    if (val=='T_coul'){
    document.getElementById("cadre").style.display = '';}
    if (val!='T_coul'){
    document.getElementById("cadre").style.display = 'none';}
    else{
    document.getElementById("cadre").style.display = 'none';}
    }
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    if($row["code"] == "T_coul"){ 
    echo " onClick = 'calcul_form(); mafonction(this.value)'";
    }
    else{ 
    echo " onClick = 'calcul_form()'; mafonction(this.value)";
    }

  14. #34
    Membre éprouvé Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Par défaut
    tu as supprimé la var actuel dans l'appel de la fonction ?
    je comprends pas ces instructions qui sont les mêmes dans les 2 conditions

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    if($row["code"] == "T_coul"){ 
    echo " onClick = 'calcul_form(); mafonction(this.value)'";
    }
    else{ 
    echo " onClick = 'calcul_form()'; mafonction(this.value)";
    }
    l'erreur javascrip est "objet attendu'. Même si je supprime le param actuel dans la fonction.

  15. #35
    Membre éprouvé Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Par défaut
    C'était juste une accolade qui manquait dans la fonction !!!
    bravo !
    et vraiment, merci beaucoup.

    Bonne soirée.
    Ce long post mérite bien la mention résolu !

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Calcul automatique dans un tableau dynamique
    Par samiker dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 28/12/2014, 01h17
  2. Réponses: 11
    Dernier message: 08/11/2013, 21h26
  3. Réponses: 0
    Dernier message: 08/06/2011, 16h09
  4. Réponses: 2
    Dernier message: 06/12/2010, 17h23
  5. [Formulaire]Calcul automatique dans un formulaire
    Par yassin101 dans le forum IHM
    Réponses: 1
    Dernier message: 23/03/2007, 19h28

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