fonction avec variable

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : fonction avec variable

par wam » 10 juin 2005, 10:52

youhouhouhouhouhouhouh :D :D :D :D :D :D :D :D

ca le fait
apres 2, 3 bidouillages, ca marche
merci bcp
et vive phpfrance!!!!!!

j'ai posté mon problème sur au moins 5 forums depuis hier, et tu es le 1er a avoir résolu mon petit probleme


merci bcp et a une prochaine

par sadeq » 10 juin 2005, 10:43

C'est bien ce que je pensais, hé bien le code de tout à l'heure te convient sauf que je viens de voir une petite erreur qui s'est glissée et que j'ai corrigé:
Essaye ce petit exemple qui va t'aider à comprendre:

3 listes qui présentes 3 articles, quand on selectionne des articles le total est calculé et affiché dans une zone total.
<script>
function CalculTotalOpt() 
{   //total options 
    var liste = document.all["liste[]"]; 
    var PrixTotalOpt = 0; 
    for (i=0; i<liste.length; i++) 
           PrixTotalOpt += parseFloat(liste[i].value); 

    document.all["total"].value = PrixTotalOpt; 
}  
</script>

<form name="formulaire">
<p>Articles
<p></p><select name ="liste[]" onChange="CalculTotalOpt()">
<option  value="0"></option>
<option  value="500">AMD</option>
<option  value="300">Ecran 19</option>
<option  value="100">Disque 160Go</option>
</select>
<p></p><select name ="liste[]" onChange="CalculTotalOpt()">
<option  value="0"></option>
<option  value="500">AMD</option>
<option  value="300">Ecran 19</option>
<option  value="100">Disque 160Go</option>
</select>
<p></p><select name ="liste[]" onChange="CalculTotalOpt()">
<option  value="0"></option>
<option  value="500">AMD</option>
<option  value="300">Ecran 19</option>
<option  value="100">Disque 160Go</option>
</select>
<p>Total <input name="total"></p>  
</form>

par wam » 10 juin 2005, 10:28

j'ai tout plein de select dans des cases de tableau


sur chaque ligne, j'ai un nom , ,et dans la 2nde case, j'ai une liste deroulante
et ca un nbr n de fois
je vais, en bas de page faire le total de tous les elements selectionnés dans les select

exemple:
processeur amd(40€)
ecran 17'' (54€)


prix de base totalopt total
450 94 544

par sadeq » 10 juin 2005, 10:22

Attend, il faux bien expliquer ce que tu veux faire.
Est-ce que tu veux faire la sommes des valeurs de plusieurs listes select
ou alors tu veux simplement la somme des valeurs des options d'une seule liste.
Car ce n'est pas la même chose d'autant plus que ton code ne correspond pas à la deuxième proposition.

Ce que je t'ai donné fait la somme de plusieurs input ayant le même nom liste[] et ça peut être aussi plusieurs select ayant le même nom liste[]

par wam » 10 juin 2005, 10:18

j'y connais po gd chose,
mais ta variable liste retourne une valuer, donc du peux pas y appliquer length non?



:?

par wam » 10 juin 2005, 10:14

Code : Tout sélectionner

echo '<td><select id="liste[]" onchange="CalculTotalOpt()">';
mes valeurs sont dans cette liste deroulante
avec ton code, ca ne marche pas, rien ne s'affiche




:? :? :?

par sadeq » 10 juin 2005, 10:08

function CalculTotalOpt() 
{   //total options 
    var liste = window.document.forms['formulaire'].elements['liste[]']; 

    var PrixTotalOpt = 0; 
    for (i=0; i<liste.length; i++)
           PrixTotalOpt += parseFloat(liste[i].value);

    window.document.forms['formulaire'].elements['totalopt'].value = PrixTotalOpt; 
    //total 
    var prix = window.document.forms['formulaire'].elements['base'].value; 
    var prixTotal = 0; 
    prixTotal = parseFloat(prix)+PrixTotalOpt; 
    window.document.forms['formulaire'].elements['total'].value = prixTotal; 
} 
Avec l'HTML de la liste :
 <input name ="liste[]" value="10">
 <input name ="liste[]" value="20">
 <input name ="liste[]" value="30">
.... Tant de liste que tu veux...

fonction avec variable

par wam » 09 juin 2005, 16:02

bjr a tous
j'ai un petit probleme avec une fonction -->
function CalculTotalOpt()
{   //total options
    var prix1 = window.document.forms['formulaire'].elements['liste1'].value;
    var prix2 = window.document.forms['formulaire'].elements['liste2'].value;
    var prix3 = window.document.forms['formulaire'].elements['liste3'].value;
    var prix4 = window.document.forms['formulaire'].elements['liste4'].value;
    var prix5 = window.document.forms['formulaire'].elements['liste5'].value;
    var prix6 = window.document.forms['formulaire'].elements['liste6'].value;
    var prix7 = window.document.forms['formulaire'].elements['liste7'].value;
    var prix8 = window.document.forms['formulaire'].elements['liste8'].value;
    var prix9 = window.document.forms['formulaire'].elements['liste9'].value;
    var PrixTotalOpt = 0;
    PrixTotalOpt = parseFloat(prix1) + parseFloat(prix2) + parseFloat(prix3)
             + parseFloat(prix4) + parseFloat(prix5) + parseFloat(prix6)
              + parseFloat(prix7) + parseFloat(prix8) + parseFloat(prix9);
    window.document.forms['formulaire'].elements['totalopt'].value = PrixTotalOpt;
    //total
    var prix = window.document.forms['formulaire'].elements['base'].value;
    var prixTotal = 0;
    prixTotal = parseFloat(prix)+PrixTotalOpt;
    window.document.forms['formulaire'].elements['total'].value = prixTotal;
}
 
en fait, elle fait une addition de chaque nbre de chaque liste (1..9)
cependant, le nbre d'elt de la liste peut varier
du coup, il faudrait mettre une variable du type

...
var prix$i = window.document.forms['formulaire'].elements['liste$i'].value;
...
 

je cherche, mais je tourne en rond
...