J'utilise un formulaire avec chronoform 4.0 RC3.5.1 sous joomla 1.5.24.
Lorsque certains champs sont modifiés, un champ "total" est recalculé automatiquement.
Lors de la validation du formulaire, les champs sont mis en BD et 2 mails sont envoyés, contenant les champs remplis.
Sous FF et chrome, pas de problème, tout fonctionne correctement.
Sous IE, la sauvegarde en BD et l'envoi de mail fonctionnent aussi, mais le champ "total" reste nul. (et sa valeur dans la BD et les mails est bien sur aussi nulle)
En y regardant de plus près, il y a une exception: avec le mode document IE9, cela fonctionne. Mais pas avec le mode document IE10 ni dans les versions plus anciennes telles que IE7 et IE8.
L'outil de debug de IE me donne l'erreur "SCRIPT5009: « H01 » est indéfini "
Voici le code de ma fonction JS:
et un petit bout du code HTML relatif à H01:
Quelqu'un a-t-il une idée qui puisse m'aider?
Merci d'avance. .
Lorsque certains champs sont modifiés, un champ "total" est recalculé automatiquement.
Lors de la validation du formulaire, les champs sont mis en BD et 2 mails sont envoyés, contenant les champs remplis.
Sous FF et chrome, pas de problème, tout fonctionne correctement.
Sous IE, la sauvegarde en BD et l'envoi de mail fonctionnent aussi, mais le champ "total" reste nul. (et sa valeur dans la BD et les mails est bien sur aussi nulle)
En y regardant de plus près, il y a une exception: avec le mode document IE9, cela fonctionne. Mais pas avec le mode document IE10 ni dans les versions plus anciennes telles que IE7 et IE8.
L'outil de debug de IE me donne l'erreur "SCRIPT5009: « H01 » est indéfini "
Voici le code de ma fonction JS:
Code:
function calcul(){ Nb=(parseInt(H01.value,10)+ parseInt(H05.value,10)+ parseInt(H08.value,10)+ parseInt(H09.value,10)+ parseInt(H10.value,10)+ parseInt(H12.value,10)+ parseInt(H13.value,10)+ parseInt(H14.value,10)+ parseInt(H15.value,10)+ parseInt(H16.value,10)+ parseInt(H17.value,10)+ parseInt(H18.value,10)+ parseInt(H19.value,10)+ parseInt(H20.value,10)+ parseInt(V03.value,10)+ parseInt(V04.value,10)+ parseInt(V07.value,10)+ parseInt(V08.value,10)); PrC=parseInt(Nb/5)*8 +(Nb%5)*2; if(document.getElementById("PosteOui").checked) {document.getElementById("comment").style.display="none"; if(Nb<7) PrP=1.5; else PrP=2.2;} else{document.getElementById("comment").style.display="inline";PrP=0;} Nombre.value=Nb Prix.value =PrC; Port.value=PrP; Total.value =PrC+PrP; }
Code:
<td width=50px> <input maxlength="75" size="10" title="" id="H01" name="H01" type="text" value="0" onchange="calcul()" /></td>
Merci d'avance. .