JavaScript + Asp

Résolu
Woody -  
 Woody -
Bonjour,

J'ai un petit probleme en Javascript que je n'arrive pas à résoudre ...

J'utilise un formulaire 'form1', qui contient une table 'matable' et ensuite une div 'insert' dans laquelle j'ai encore des champs (un champ 'montant' par exemple)

Je cherche à faire un document.form. ... et là je bloque, j'ai tout testé mais jamais ça n'a marché :|

Une petite idée ? 2 getElementById de rang ? aidez moi :'(

Merci d'avance
Configuration: Windows 2000
Firefox 2.0.0.14

5 réponses

  1. Zempachi Messages postés 7572 Statut Contributeur 906
     
    Salut,
    un petit exemple:

    html:
    <form name="form1" action="chemin/vers/le/script/asp" method="post" onsubmit="return check_form1();" >
       <label for="id_nom">Nom :</label> <input type=""text" name="nom" id="id_nom" />
       <input type="submit" name="valide_form1"  />
    </form>
    


    javascript:
    function check_form1()'
       var nom = document.form1.nom.value;
       if(nom==""){
          alert("Veuillez remplir tous les champs");
          return false;
       }
       return true;
    }
    


    Au niveau de la ligne var nom = document.form1.nom.value;, "form1" et "nom" font références aux attributs name et non aux id.

    0
    1. Woody
       
      Je pense m'être mal exprimé ^^
      Je rajoute donc une partie de mon code pour l'explication

      J'ai donc mon formulaire 'form1' juste en dessous, dans celui ci, j'ai 1 table qui a pour id 'matable' et ensuite une div 'insertDonnees', je souhaite modifier en Javascript le champ 'montant via une fonction calcul lorsque la quantité a été donnée

      Je n'arrive pas à trouver le code à mettre dans Calcul() afin de modifier la valeur de montant, je pensai donc que je me trompais avec les id ou les names, ou alors c'est tout bête mais je n'ai pas trouvé ..

      Voici le code décrit au dessus

      <form name="form1" action="./insertion.asp" method="get">

      <center><table id="matable" border="1" bordercolor="#000000">
      <tr>
      <td width='50px'><center>Référence</center></td>
      <td width='40px'><center>Désignation</center></td>
      <td width='40px'><center>Prix de vente unitaire</center></td>
      <td width='40px'><center>Quantité</center></td>
      <td width='60px'><center>Montant HT</center></td>
      </tr>



      <tr>

      <%
      'Selection pour tester l'insertion
      Set rsClient = Server.CreateObject("ADODB.Recordset")
      strSQL = "SELECT AR_REF, AR_DESIGN, AR_PRIXVEN FROM F_ARTICLE"
      rsClient.open strSQL, cnx
      %>


      <td><select name="liste_ref" onChange="javascript:submitPageSpecial('insertDonnees','tableau','ref='+this.value+'&numligne=0','')">
      <%While Not rsClient.EOF%>

      <option value="<%=Rsclient.Fields("AR_REF")%>"><%=Rsclient.Fields("AR_REF")%></option>

      <%rsClient.MoveNext
      Wend%>
      </select></td>

      <td colspan='4'>
      <div id="insertDonnees">
      <table border=0>
      <tr>
      <td><input type="text" style="width:162px"name="designation" value="" disabled="disabled"></td>
      <td><input type="text" style="width:136px" name="prix_unitaire" value="" disabled="disabled"></td>
      <td><input type="text" name="quantite" value="" onBlur="javascript:Calcul('0')" disabled="disabled"></td>
      <td><input type="text" name="montant_ht" value="" ></td>
      <td><input type="button" name="ajout" value="+" onClick="javascript:AddOneRow()"></td>
      </tr>
      </table>
      </div>
      </td>
      </tr>
      </table></center>
      <br>

      <center><input type="submit" value="Valider" name="valider"></center>
      </form>

      Merci d'avance
      0
  2. Zempachi Messages postés 7572 Statut Contributeur 906
     
    Oki doki,

    alors pour calcul, on va dire que tu veux faire le produit de "prix_unitaire" par "quantite" :

    function Calcul(){
       var prix_unitaire = document.form1.prix_unitaire.value;
       var quantite = document.form1.quantite.value;
       
       var montant_ht = document.form1.montant_ht;
       
       montant_ht.value = prix_unitaire*quantite ;
          
    }
    


    A noter que sous Ie, l'event Onblur n'est pas très bien géré.
    Donc soit tu passes par un autre event ou alors tu peux créer une fonction en javascript qui émule cet event Onblur: tu pourras trouver sur le net des scripts déjà tout fait.
    0
  3. Woody
     
    Résolu ...

    Vraiment une erreur grossiere de formulaire de ma part,

    Merci Zempachi d'avoir pris le temps de me répondre ;)
    0
  4. Zempachi Messages postés 7572 Statut Contributeur 906
     
    Vraiment une erreur grossiere de formulaire de ma part

    J'ai envie de dire comme tout le monde.
    Parfois t'es tellement dans ton code que tu voies pas les erreurs qui te sautent aux yeux! ^^
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Woody
     
    Oui, ça c'est sûr ^^
    Et puis je suis parti chercher dans la complication comme je n'avais pas trouvé dans la simplicité (à cause de mon formulaire) ...

    Merci beaucoup encore
    Bonne journée ^^
    0