Document.write rafraichit ma page... mais je veux pas :(

Résolu
cs_antoineg2 Messages postés 5 Date d'inscription mardi 18 mai 2004 Statut Membre Dernière intervention 4 juillet 2005 - 19 mai 2005 à 16:41
cs_algori Messages postés 868 Date d'inscription dimanche 26 décembre 2004 Statut Membre Dernière intervention 26 février 2008 - 19 mai 2005 à 20:42
Bonjour,

je suis assez nouveau en Javascript mais je trouve ça super puissant et je voudrais aller un peu plus loin...

j'ai dans mon site un article avec un prix fixe mais dispo en plusieurs quantité définie, je voudrais afficher le calcul du total avec la quantité que l'utilisateur choisis dans un menu déroulant: voici mon code:

<form action="" method="post" name="order">
Prix: 12 EUR

Quantité: <select name="qte" onChange="changeValue(this.value);return false()">
<option value="10" selected>10</option>
<option value="20">20</option>
<option value="30">30</option>
</select>



Récapitulatif:


<script>
newTot = 0;


function changeValue(v_num) {
newTot = v_num * 12;
document.write(v_num + " x 12 ? = " + newTot + " ?");
}


if(newTot==0) {
newTot = 10 * 12;
document.write("10 x 12 ? = " + newTot + " ?");
}
</script>
</form>

L'idée etant que par defaut a l'affichage du recap se fasse sur la premiere value du menu select... tout ca fonctionne bien, mais mon seul prob c'est que quand je fais un change du menu deroulant, il rafraichit la page au lieu de juste re-ecrire le recap en lieu de l'ancien recap ?

comment puis je faire pour que ca remplace le texte et que ca ne rafraichisse pas la page ?

merci d'avance,

antoine

1 réponse

cs_algori Messages postés 868 Date d'inscription dimanche 26 décembre 2004 Statut Membre Dernière intervention 26 février 2008 1
19 mai 2005 à 20:42
Salut,
<head>
<script type="text/javascript">


function change() {
i = document.order.qte.selectedIndex;
doc = document.order.qte.options[i].value;
newTot = doc * 12;document.getElementById("cool").firstChild.nodeValue doc+" x 12 ? " + newTot + " ?";
}



</script>
</head>


<form name="order">
Prix: 12 EUR

Quantité: <select name="qte" onChange="change();">
<option value="10" selected>10</option>
<option value="20">20</option>
<option value="30">30</option>
</select>
</form>

Récapitulatif:

essai

@++
3
Rejoignez-nous