Document.write rafraichit ma page... mais je veux pas :( [Résolu]

Signaler
Messages postés
5
Date d'inscription
mardi 18 mai 2004
Statut
Membre
Dernière intervention
4 juillet 2005
-
Messages postés
868
Date d'inscription
dimanche 26 décembre 2004
Statut
Membre
Dernière intervention
26 février 2008
-
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

Messages postés
868
Date d'inscription
dimanche 26 décembre 2004
Statut
Membre
Dernière intervention
26 février 2008
1
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

@++