Simple addition javascript (mais compliquée!!) + recup donnée

Signaler
Messages postés
2
Date d'inscription
samedi 20 février 2010
Statut
Membre
Dernière intervention
23 février 2010
-
Messages postés
2
Date d'inscription
samedi 20 février 2010
Statut
Membre
Dernière intervention
23 février 2010
-
Bonjour,

Je suis plutot du genre à me débrouiller tout seul comme un grand, quitte à perdre plusieurs heures à tester mais là je déclare forfait.
J'ai deux petites choses qui me posent souci :

J'ai un formulaire de commande pour des bijoux composé de plusieurs menus déroulants et donc d'options ainsi qu'un champ de texte pour y indiquer un message a graver.

A cela j'ai décidé d'ajouter un petit script de calcul du total en temps réel en fonction des options choisies ainsi que des frais de port par défaut.
J'utilise donc la fonction OnChange sur les balises SELECT concernée.
Cela fonctionne, seul hic je ne sais pas quelle fonction appliquée à mon champ de texte INPUT pour que si et seulement si il est utilisé une valeur numéraire de 3 soit appliquée au calcul indépendamment du texte tapé.
Car le script récupère les "value" mais pour un champ de texte la value c'est le texte tapé donc forcément il me retourne un NaN.
Help !!! ^^

Deuxieme souci, ce formulaire est censé être envoyé par mail via script php.
Jusque là pas de souci, si ce n'est pour récup les valeurs sélectionnées.
Car les values ne sont plus le texte des options, mais les values numéraires que j'ai du appliquées pour le script de calcul.
Donc est-il possible de renseigner un champ spécifique en + dans les balises options avec du texte a recup dans le script php, sachant que le script de calcul ne fonction qu'avec les champs value ?

Bon ça fait bcp de texte, mais j'essaie de décrire au mieux mon problème. Je vous joins le code de mon formulaire au cas où.

Un grand merci en avance....


<script type= "text/javascript">

function Calcul() {

var result = document.getElementById('Total');



var value1 = document.getElementById('Modele').value;

var value2 = document.getElementById('Cordon').value;





result.value = parseInt(value1) + parseInt(value2) + 3;



}

</script>



<form class="paragraphe" style="line-height:2.1em;">



<label style="position:absolute;">Modèle : </label>

<select name="Modele" id="Modele" STYLE="width: 230px;position:absolute;margin-top:4px;margin-left:100px;" onChange="Calcul();">

<option value="25">Avel - 25€</option>

<option value="25">Mona - 25€</option>

<option value="20">Maï - 20€</option>

<option value="20">Malo - 20€</option>

</select>




<label style="position:absolute;">Taille : </label>

<select name="Taille" id="Taille" STYLE="width: 230px;position:absolute;margin-left:100px;margin-top:4px;">

<option value="Enfant">Enfant</option>

<option value="Adulte">Adulte</option>

</select>




<label style="position:absolute;">Forme : </label>

<select name="Forme" id="Forme" STYLE="width: 230px;position:absolute;margin-left:100px;margin-top:4px;">

<option value="Plaque">Plaque</option>

<option value="Ronde">Médaille ronde</option>

<option value="Coeur">Médaille en coeur</option>

</select>




<label style="position:absolute;">Matière : </label>

<select name="Matiere" id="Matiere" STYLE="width: 230px;position:absolute;margin-left:100px;margin-top:4px;">

<option value="Argent">Argent massif</option>

<option value="Or">Plaqué or</option>

</select>




<label style="position:absolute;">Cordon : </label>

<select name="Cordon" id="Cordon" STYLE="width: 230px;position:absolute;margin-left:100px;margin-top:4px;" onChange="Calcul();">

<option value="0">Noeud coulissant</option>

<option value="10">Noeud coulissant + Fermoir (+10€)</option>

</select>




<label style="position:absolute;">Gravure : </label>








<label style="position:absolute;">Frais de port : </label>







<label style ="position:absolute;">Total : </label>



</form>

3 réponses

Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
14
Bonjour,
si je ne m'abuse seul les value des champs ayant un name sont transmis...
il te suffit peut être d'utiliser des input type="hidden" pour stocker dans leur value les infos à transférer...
;O)
Messages postés
72
Date d'inscription
mercredi 27 décembre 2000
Statut
Membre
Dernière intervention
16 mai 2016
1
Bonjour,

Vous pouvez vérifier les champs sans recharger la page (test valeur numérique) : http://legizz.com/validation-de-formulaire-sans-rechargement-de-la-page.html

Messages postés
2
Date d'inscription
samedi 20 février 2010
Statut
Membre
Dernière intervention
23 février 2010

Bonjour
effectivement il fallait bien utiliser des input type="hidden" pour affecter les infos autres que les valeurs numéraires nécessaires au script de calcul.
Un grand merci pour votre réactivité