Une petit aide dans le rassemblement de fonction

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Une petit aide dans le rassemblement de fonction

Bug Avec IE !

par Sebe » 28 janv. 2007, 20:25

Salut,

Je viens de m'appercevoir qu'il y avait un petit bug avec IE ... depuis longtemps, je n'utilise plus que FF et cela fonctionnait très bien !
Ligne: 262
Car: 2
Erreur: Cet objet ne gère pas cette propriété ou cette méthode
Code: 0
La ligne en question est :

Code : Tout sélectionner

test = datetest[2]+''+datetest[1]+''+datetest[0]; //alert ("La date du test " + test);
Puis-je avoir un peu d'aide ?

Merci

par Sebe » 26 janv. 2007, 23:41

Ok, j'ai trouvé un peu par hazard est l'erreur venait de mon code PHP et non de la fonction JavaScript qui récupére une valeur (pma) pour un calcul égal à 77,15 au lieu de 77.15 !

A+

Une petit aide dans le rassemblement de fonction

par Sebe » 26 janv. 2007, 12:58

Bonjour,

Je viens de me mettre dans l'idée de rassembler plusieurs fonctions (essentiellement de test) avant de rendre visible un bouton de soumission !
Voici coment je active la fonction en question:
<input name="submit" type="button" onClick="valid();" value="Evaluation" >
Dans certaines parties de la fonction qui suit, je fais en plus des calcules et renvoie des valeurs dans mon formulaire:

Code : Tout sélectionner

// **************************** Fonction 'Apparition d'un bouton de soumission' **************************** function valid(){ who = document.forms.test.iduser.value; //alert ("Id de l'utilisateur est " + who); fcrecup = document.forms.test.fcrecup.value; //alert ("La FC après récupération est " + fcrecup); recup = document.forms.test.recup.value; //alert ("Qualificatif de la récupération " + recup); dateserveur = document.forms.test.dateserveur.value.split("-"); //alert ("La date du serveur est " + dateserveur); serveur = dateserveur[2] +''+dateserveur[1]+''+dateserveur[0]; //alert ("La date du serveur " + serveur); datetest = document.forms.test.datetest.value.split("-"); //alert ("La date du test est " + datetest); test = datetest[2]+''+datetest[1]+''+datetest[0]; //alert ("La date du test " + test); fcp1 = document.forms.test.fcp1.value; //alert ("La FC du palier 1 est de " + fcp1); fcp3 = document.forms.test.fcp3.value; //alert ("La Fc au palier 3 est de " + fcp3); vitesse1 = document.forms.test.vitesse1.value; //alert ("La vitesse au palier 1 est " + vitesse1); vitesse2 = document.forms.test.vitesse2.value; //alert ("La vitesse au palier 2 est " + vitesse2); vitesse3 = document.forms.test.vitesse3.value; //alert ("La vitesse au palier 3 est " + vitesse3); vma = document.forms.test.vma.value; //alert ("La VMA est de " + vma); vo2max = document.forms.test.vo2max.value; //alert ("La V02max est de " + vo2max); pma = document.forms.test.pma.value; //alert ("La PMA est " + pma); if (test > serveur){ alert ("Le test ne peut s'être déroulé à une date qui n'a pas encore existé ! ! !"); document.forms.test.datetest.focus(); return(true); }else if (fcp3 < 20 || fcp3 > 220) { alert ("Vous n'avez pas introduit de valeur pour la FC au palier 3"); document.forms.test.fcp3.focus(); return; } else { fcM = fcp3; //alert ("La FCmax est de " + fcM); document.forms.test.fcmax.readonly = false; document.forms.test.fcmax.value = String( fcM ); document.forms.test.fcmax.readonly = true; } if ((vma <= 0) || (vo2max <= 0)) { alert ("Avez-vous entré le temps au Palier 3 ?"); document.forms.test.tempsp3.focus(); return; } if ((recup != "Excellente") && (recup != "Très bonne") && (recup != "Bonne") && (recup != "Moyenne") && (recup != "Mauvaise") && (recup != "Très mauvaise") || (fcrecup <= 0)){ alert ("Avez-vous entré votre FC après 5' de repos ?"); document.forms.test.fcrecup.focus(); return; } if ((vitesse3 != " ") && (vitesse2 != " ") && (vitesse1 != " ") && (vitesse3 > vitesse2) && (vitesse2 > vitesse1)) { alert ("La FC du palier 1 est de " + fcp1); alert ("La Fc au palier 3 est de " + fcp3); alert ("La vitesse au palier 1 est " + vitesse1); alert ("La vitesse au palier 2 est " + vitesse2); alert ("La vitesse au palier 3 est " + vitesse3); alert ("La PMA est " + pma); B30 = ((fcp3 - fcp1)/(vitesse3 - vitesse1)); alert ("B30 est de " + B30); B31 = (fcp3 - ((fcp3 - fcp1)/(vitesse3 - vitesse1)) * vitesse3); alert ("B31 est de " + B31); fcca = (Math.round(B30*pma*(vitesse3/100)+B31)); alert ("La valeur de la fcca est de "+ fcca); document.forms.test.fcca.readonly = false; document.forms.test.fcca.value = String( fcca ); document.forms.test.fcca.readonly = true; }else{ alert ("Vous avez commis une erreur dans la prise de temps aux différents paliers ! "); return (false); } if (who <= 0){ alert ("Malheureusement, vous n'êtes pas enregistré ... vous ne pourrez donc pas conserver vos données en mémoire et obtenir un plan d'entraînement !"); return; }else { document.getElementById('btn_val').style.visibility = 'visible'; } }
Chacun des 'IF' fonctionne indépendament mais quand j'ai mis dans l'avant dernier les calcul, j'ai la valeur 'NaN' pur la fcca dans l'alert !

J'ai donc une question par rapport à ce 'NaN' qui n'apparaîssait pas dans la fonction initiale ... qu'est-ce qui se passe ? POur info, tout les alerts me renvoit les bonnes données sauf pour la fcca !

Une autre question, j'ai voulu essayé de faire simple en rassemblant une série de fonction ... est-ce une bonne méthode ?

Merci