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

wekxx Messages postés 2 Date d'inscription samedi 20 février 2010 Statut Membre Dernière intervention 23 février 2010 - 20 févr. 2010 à 23:14
wekxx Messages postés 2 Date d'inscription samedi 20 février 2010 Statut Membre Dernière intervention 23 février 2010 - 23 févr. 2010 à 12:30
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

PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 16
21 févr. 2010 à 15:56
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)
0
seblechinois Messages postés 72 Date d'inscription mercredi 27 décembre 2000 Statut Membre Dernière intervention 16 mai 2016 1
22 févr. 2010 à 16:36
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

0
wekxx Messages postés 2 Date d'inscription samedi 20 février 2010 Statut Membre Dernière intervention 23 février 2010
23 févr. 2010 à 12:30
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é
0
Rejoignez-nous