onblur peut-il déclencher 2 évenements ?

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 : onblur peut-il déclencher 2 évenements ?

par Ajoloca » 20 déc. 2006, 17:51

@zeus -> grillé :langue:
:evil:

Je ne sais pas ce qui me retient d'user malhonnêtement de mes pouvoirs de modérateur pour supprimer la précision de Sebe et la réponse de Ajoloca :-* :twisted: :langue:
Votre sagesse et honnêteté Maître! :agenouille:

par Sebe » 20 déc. 2006, 17:51

Je ne sais pas ce qui me retient d'user malhonnêtement de mes pouvoirs de modérateur pour supprimer la précision de Sebe et la réponse de Ajoloca :-* :twisted: :langue:
Pas facile d'être bon modérateur :tir2:

par zeus » 20 déc. 2006, 17:43

@zeus -> grillé :langue:
:evil:

Je ne sais pas ce qui me retient d'user malhonnêtement de mes pouvoirs de modérateur pour supprimer la précision de Sebe et la réponse de Ajoloca :-* :twisted: :langue:

par Sebe » 20 déc. 2006, 16:47

Re,
ET CELA FONCTIONNE ... MERCI MERCI aussi à Ajoloca qui avait déjà soulevé le problème !
@zeus -> grillé :langue:
C'est pas bien de rire des petits copains de la classe !

Le fameux composant est ici ... évidement, je suis loin d'avoir terminé !

Encore merci

par Ajoloca » 20 déc. 2006, 16:35

Re,
ET CELA FONCTIONNE ... MERCI MERCI aussi à Ajoloca qui avait déjà soulevé le problème !
@zeus -> grillé :langue:

par Sebe » 20 déc. 2006, 16:30

alors, non seulement, je pense qu'il s'agit plus d'une largesse du JS d'autoriser les $, mais en plus, je viens de voir que "temsps" au lieu de "temps" dans le Maths.round() peut aussi expliquer ce genre d'erreur :P
Bon ben je dois m'incliner ... j'ai changer en étant persuadé que cela ne pouvait venir de là puisque cela fonctionnait dans la 1er fonction:
// **************************** Fonction de calcul de la VMA en km/h ****************************
// ne fonctionne pas !
function vma(temps, palier)
{
	if(temps != 0)
     {
          return ((Math.round((palier/temps)/10))/ 100);
     }else{
          return (false);
     }
} 

function calcvma(chpTemps, v_field)
	{
		var temps = verifTemps(chpTemps);
		//alert(temps);
		//alert(v_field);
		if (temps)
        	{
				switch (v_field){
                    case 1 : 
          			palier = document.forms.test.palier3.value;
					// alert(palier);
					alert("Les carottes sont cuites ?" + v_field);
					tvma = vma(temps, palier);
          			alert("Les carottes sont cuites ?" + v_field);
					// alert(tvma);
					document.forms.test.tvma.readonly = false;
          			document.forms.test.tvma.value = String( tvma );
          			document.forms.test.tvma.readonly = true;
                    break;
					}
			}
	}		
// **************************** Fin de la fonction de calcul de la VMA en km/h ****************************
ET CELA FONCTIONNE ... MERCI MERCI aussi à Ajoloca qui avait déjà soulevé le problème !

Merci pour tout

par zeus » 20 déc. 2006, 16:19

alors, non seulement, je pense qu'il s'agit plus d'une largesse du JS d'autoriser les $, mais en plus, je viens de voir que "temsps" au lieu de "temps" dans le Maths.round() peut aussi expliquer ce genre d'erreur :P

par Sebe » 20 déc. 2006, 16:00

Code : Tout sélectionner

Math.round(($palier/tempsp)
Encore un soucis de $ ;)
Je ne comprends pas car cette formule fonctionne dans la 1er serie de fonction !

par zeus » 20 déc. 2006, 15:54

Code : Tout sélectionner

Math.round(($palier/tempsp)
Encore un soucis de $ ;)

par Sebe » 20 déc. 2006, 15:48

Voici les 2 series de fonctions:
C'est la 2e qui a un problème ... la 1er fonctionne à merveille mais a servit de modéle à la 2e !
// **************************** Fonction de calcul de la Vitesse en m/min ****************************
function vitesse(tempsp, $palier)
	{
		if(tempsp != 0)
     		{
			return ((Math.round((($palier/tempsp) / 60  ) * 100 )) / 100);
     		}
		else{
           return (false);
     		}
	} 

function calcVitesse(chpTemps, v_field)
{
         var temps = verifTemps(chpTemps);
         // alert(temps);
         if (temps)
         {
               switch (v_field){
                    case 1 : 
          			vitesse1 = (800 / Number(temps) / 60);
          			document.forms.test.vitesse1.readonly = false;
          			document.forms.test.vitesse1.value = String( vitesse1 );
          			document.forms.test.vitesse1.readonly = true;
                    break;
					
                    case 2 :
					$palier = 800;
					vitesse2 = vitesse(temps, $palier);
                    document.forms.test.vitesse2.readonly = false;
                    document.forms.test.vitesse2.value = String( vitesse2 );
                    document.forms.test.vitesse2.readonly = true;
                    break;
          
                    case 3 :
          			$palier = document.forms.test.palier3.value;
          			vitesse3 = vitesse(temps, $palier);
					document.forms.test.vitesse3.readonly = false;
          			document.forms.test.vitesse3.value = String( vitesse3 );
          			document.forms.test.vitesse3.readonly = true;
                    break;
              }
         }
}
// **************************** Fin de la fonction de calcul de la Vitesse en m/min ****************************




// **************************** Fonction de calcul de la VMA en km/h ****************************
// ne fonctionne pas !
function vma(temps, $palier)
{
	if(tempsp != 0)
     {
          return ((Math.round(($palier/tempsp)/10))/ 100);
     }else{
          return (false);
     }
} 

function calcvma(chpTemps, v_field)
{
         var temps = verifTemps(chpTemps);
         //alert(temps);
		 //alert(v_field);
         if (temps)
         {
               switch (v_field){
                    case 1 : 
          			$palier = document.forms.test.palier3.value;
					//alert($palier);
					alert("Les carottes sont cuites ?" + v_field);
					tvma = vma(temps, $palier);
          			alert("Les carottes sont cuites ?" + v_field);
					// alert(tvma);
					document.forms.test.tvma.readonly = false;
          			document.forms.test.tvma.value = String( tvma );
          			document.forms.test.tvma.readonly = true;
                    break;
              }
         }
}		
// **************************** Fin de la fonction de calcul de la VMA en km/h ****************************

par zeus » 20 déc. 2006, 15:42

Donc ... le soucis est dans la fonction vma ;)

Montre nous donc ce code

par Sebe » 20 déc. 2006, 15:39

Tu mets un alert() avant puis un alert() après ... ;)

D'ailleurs, ne fait pas alert(variable) mais plutôt alert("text"+variable) car si variable est vide, alert(variable) n'aura aucune action sous FF
Yessssss ... au moins on se rapproche du problème car, comme tu disais, il ne sort pas de la fonction vma !

J'ai fais ceci:
function calcvma(chpTemps, v_field)
{
         var temps = verifTemps(chpTemps);
         //alert(temps);
		 //alert(v_field);
         if (temps)
         {
               switch (v_field){
                    case 1 : 
          			$palier = document.forms.test.palier3.value;
					//alert($palier);
					alert("Les carottes sont cuites ?" + v_field);
					tvma = vma(temps, $palier);
          			alert("Les carottes sont cuites ?" + v_field);
					// alert(tvma);
					document.forms.test.tvma.readonly = false;
          			document.forms.test.tvma.value = String( tvma );
          			document.forms.test.tvma.readonly = true;
                    break;
              }
         }
}		
et je n'ai qu'une fois le message 'Les carottes sont cuites ?'!

par zeus » 20 déc. 2006, 15:18

- la fonction vma() qui ne rend jamais la main
Comment peut-on le savoir ?
Tu mets un alert() avant puis un alert() après ... ;)

D'ailleurs, ne fait pas alert(variable) mais plutôt alert("text"+variable) car si variable est vide, alert(variable) n'aura aucune action sous FF

par Sebe » 20 déc. 2006, 15:01

Salut,
Bonjour,

Dans cette ligne

Code : Tout sélectionner

tvma = vma(tempsp, $palier);
d'où sort la variable tempsp ???
Heuuuuuuuu ... eh bien comme je le disais, j'ai utilisé une fonction qui avait déjà fait ses preuves ! Comme je devais en faire une nouvelle avec les même variable mais un calcul différent, j'ai simplement apporté quelques modifications necessaires au calcul !

Note: Le calcul fonctionne, je l'ai testé !

par Sebe » 20 déc. 2006, 14:53

le problème peut, selon moi, se situer à plusieurs niveaux :
- le switch (v_field) qui ne passe jamais dans le case 1. Essaye d'afficher v_field pour en être sûr. NB : essaye de comparer v_field à une chaine de caractère ('1') et non pas un entier (1)
v_field passe dans la case 1 ... j'ai eu un retour avec alert
- la fonction vma() qui ne rend jamais la main
Comment peut-on le savoir ?

Merci