2014-01-22 4 views
1

Я создал в ней форму с cal(), чтобы люди могли выбирать варианты, а затем рассчитывать ответ в зависимости от того, что они выбрали.Создать кнопку для вызова функции cal()

Но я хотел бы вставить кнопку в конце, которая назовет результат. Поэтому, когда люди выбрали свои варианты, они нажмут кнопку «Отправить», и это даст им правильный ответ в зависимости от их выбора.

Я не смог это сделать. Я попробовал кнопку типа input, но я не знаю, как назвать остальные.

Вот мой код:

<script> 
function cal() { 
    var pl = document.form1.template.value; 
    var resultat = pl; 
    document.form1.tresultat.value = resultat; 
    document.formfin.tresultatfin.value = calfin(); 
} 

function cal2() { 
    var pl2 = document.form2.envoi.value; 
    var resultat2 = pl2; 
    document.form2.tresultat2.value = resultat2; 
    document.formfin.tresultatfin.value = calfin(); 
} 

function cal3() { 
    var pl3 = document.form3.article.value; 
    var tl3 = document.form3.ecrit.value; 
    var resultat3 = pl3*tl3; 
    document.form3.tresultat3.value = resultat3; 
    document.formfin.tresultatfin.value = calfin(); 
} 

function calfin() { 
    var r1 = form1.tresultat.value; 
    var r2 = form2.tresultat2.value; 
    var r3 = form3.tresultat3.value; 
    return (parseFloat(r1)+(parseFloat(r2)*parseFloat(r3))); 
} 

</script> 

<form name="form1"> 
    <label for="template">Template :</label> 
    <select name="template" onChange="cal()"> 
    <option value="500">Yes 
    <option value="800">No 
    <option value="2900">Maybe 
    </select> 
    <input type="hidden" value="0" name="tresultat"> 
</form> 
<br><br><br> 
<form name="form2"> 
<label for="envoi">Quantité d'envoi annuel :</label> 
    <select name="envoi" onChange="cal2()"> 
    <option value="2">2 
    <option value="3,6">4 
    <option value="5,1">6 
    <option value="6,4">8 
    <option value="9">12 
    </select> 
    <input type="hidden" value="0" name="tresultat2"> 
</form> 
<br><br><br> 
<form name="form3"> 
<label for="article">Articles par infolettre :</label> 
    <select name="article" onChange="cal3()"> 
    <option value="1">1 
    <option value="2">2 
    <option value="3">3 
    </select> 

    <label for="ecriture"> Écriture des articles :</label> 
    <select name="ecrit" onChange="cal3()"> 
    <option value="50">X 
    <option value="300">Y 
    <option value="200">Z 
    </select> 
    <input type="hidden" value="0" name="tresultat3"> 

<br><br><br> 
<form name="formfin"> 
<label for="total"> Total :</label> 
<input type="text" value="0" name="tresultatfin"> 
</form> 

Все мои функции, кажется, работают. Они подсчитывают, что я хочу, только кнопка, которая будет отвечать на ответ, отсутствует.

Большое спасибо за помощь!

ответ

1

Просто добавьте кнопку в форму

<form name="formfin"> 
    <label for="total"> Total :</label> 
    <input type="text" value="0" name="tresultatfin"> 
    **<input type="button" onclick="cal()" value="Calculer" />** 
</form> 
+0

совершенны, что работа. но я просто понимаю, что значение вычисляется каждый раз, когда вы выбрали опцию. Как я могу разрешить это, поэтому, только когда вы нажимаете кнопку отправки, вы пишете ответ. En francais: Ca fonctionne merci, mais je remarque qu'a chaque fois que je change une valeur dans les option le calcul ce fait dans la case et j'aimerais qu'il apparait seulement lorsque l'on click sur le bouton calculer. Merci – user3225427