Formation Google AnalyticsSavez-vous bien utiliser les outils de mesure d'audience ?
Effectuez-vous un calcul de ROI (Retour sur investissement) pour savoir comment améliorer vos campagnes emarketing ?
Savez-vous utiliser les bons outils pour booster votre taux de transformation ?
La formation Web Analytics de Ranking Metrics, présentée par un expert reconnu officiellement par Google Analytics, vous apportera les réponses à toutes vos questions !
===> Informations et inscriptions.

lien avec javascript onClick, marche qu'au deuxième click

Poster un nouveau sujet Imprimer cette discussion    Forum -> Développement d'un site Web   Les dernières discussions de ce forum sont disponibles au format RSS
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 
nickargall
WRInaute accro
WRInaute accro

Inscrit le: 13 Juin 2005
Messages: 3695
Localisation: Exilé au Groland à cause de Joe Dalton

URL permanente de ce messagePosté le : Mer Juil 25, 2007 19:09    Sujet du message: lien avec javascript onClick, marche qu'au deuxième click

Bonjour

J'ai sur un site des liens avec des appels de fonctions javascript qui ne sont lancées qu'au deuxième click, et ça a le don de m'énerver. Evil or Very Mad Evil or Very Mad

Le code du lien :

Code:

<a onClick='SubmitForm(2)' href="#" >LIEN</a>


ça me le fait sur tous les liens contenant cette fonction ou une autre. Et ça m'énerve Evil or Very Mad . Je ne trouve rien sur le web, même pas un début d'explication ou de solution.)

Merci pour vos réponses ...
 
nickargall Visiter le site web du posteur
f_trt
WRInaute passionné
WRInaute passionné

Inscrit le: 17 Sep 2005
Messages: 763
Localisation: Sud Oues

URL permanente de ce messagePosté le : Mer Juil 25, 2007 19:19    Sujet du message: lien avec javascript onClick, marche qu'au deuxième click

Jamais vu cela pour ma part, ton code est ok le mieux je pense est de partir d'une page vierge et de la compléter jusqu'à ce que tu trouves ce qui interfère.
 
f_trt Visiter le site web du posteur
nickargall
WRInaute accro
WRInaute accro

Inscrit le: 13 Juin 2005
Messages: 3695
Localisation: Exilé au Groland à cause de Joe Dalton

URL permanente de ce messagePosté le : Mer Juil 25, 2007 19:27    Sujet du message: lien avec javascript onClick, marche qu'au deuxième click

AAaaargh
c'est une page d'un site dont je m'occupe, crois moi c'est difficilement réalisable dans le peu de temps qui m'est imparti !

Smile
 
nickargall Visiter le site web du posteur
FlorentP
WRInaute occasionnel
WRInaute occasionnel

Inscrit le: 25 Juin 2005
Messages: 145

URL permanente de ce messagePosté le : Mer Juil 25, 2007 19:43    Sujet du message: lien avec javascript onClick, marche qu'au deuxième click

t'es marrant, là tu nous montre une boite fermée en disant qu'elle ne marche pas... donne le code de la fonction JS appelée et après éventuellement tu pourras avoir des réponses intéressantes, là ya rien a en tirer de ton code HTML Very Happy
 
FlorentP Visiter le site web du posteur
nickargall
WRInaute accro
WRInaute accro

Inscrit le: 13 Juin 2005
Messages: 3695
Localisation: Exilé au Groland à cause de Joe Dalton

URL permanente de ce messagePosté le : Mer Juil 25, 2007 20:11    Sujet du message: lien avec javascript onClick, marche qu'au deuxième click

Ok si tu y tiens .. j'en suis pas l'auteur, donc je patauge un peu Smile

Edit : je la remets, j'ai essayé de la nettooyer en l'indentant un peu mieux et en virant les commentaires qui me semblaient superflus mais bon ça a encore moins bien marché ensuite. je la remets brute de décoffrage, telle que je l'ai reçue :

Code:

function SubmitForm(strType){



   // if(Signs[document.resForm.destiagent.value] != Signs[document.resForm.sourceagent.value])

   if(document.resForm.destiagent.value != document.resForm.sourceagent.value)

   {

      // alert('Vous ne pouvez pas choisir des agences de départ et d\'arrivée de 2 enseignes différentes');

      //alert('Vous ne pouvez pas choisir une agence de retour différente de celle de départ');



      document.resForm.destiagent.value = document.resForm.sourceagent.value;

   }

   else

   {



 frmObj = document.resForm;

 var elemSelected;

 elemSelected = false;





if (frmObj.catid.selectedIndex>=0) elemSelected=true;



var txtstday = frmObj.stday[frmObj.stday.selectedIndex].value;

var txtstmonth = frmObj.stmonth[frmObj.stmonth.selectedIndex].value;

var txtstyear = frmObj.styear[frmObj.styear.selectedIndex].value;



var txtendday = frmObj.endday[frmObj.endday.selectedIndex].value;

var txtendmonth = frmObj.endmonth[frmObj.endmonth.selectedIndex].value;

var txtendyear = frmObj.endyear[frmObj.endyear.selectedIndex].value;

var today =new Date();

<?php
   /* Pour St-Martin, 1 jour entre la reservation et la prise de vehicule */
   if ($intDestination == $CONFIG['dest_st_martin']) {
      echo 'var minDate = new Date(today.getTime() + 1*24*60*60*1000);';
   }
   else {
      echo 'var minDate = new Date(today.getTime() + 2*24*60*60*1000);';
   }
?>

var stdate =new Date(txtstyear,txtstmonth-1,txtstday);

var enddate =new Date(txtendyear,txtendmonth-1,txtendday);

var txtstarthour = frmObj.sthour[frmObj.sthour.selectedIndex].value;
var txtstartmins = frmObj.stminute[frmObj.stminute.selectedIndex].value;
var txtendhour = frmObj.endhour[frmObj.endhour.selectedIndex].value;
var txtendmins = frmObj.endminute[frmObj.endminute.selectedIndex].value;
var resstartdate =new Date(txtstyear,txtstmonth-1,txtstday,txtstarthour,txtstartmins);
var resenddate =new Date(txtendyear,txtendmonth-1,txtendday,txtendhour,txtendmins);


 var frmObj = document.resForm;
if(!isValidDate(txtstday,txtstmonth,txtstyear)){

     alert("<?php print($LABLES["p6_lbl34"]);?>");

     frmObj.stday.focus();

}else if(!isValidDate(txtendday,txtendmonth,txtendyear)){

     alert("<?php print($LABLES["p6_lbl34"]);?>");

     frmObj.endday.focus();

}else if(stdate > enddate){

     alert("La date de retour doit être postérieure à la date de location");

     frmObj.endday.focus();

}else if(stdate < today){

     alert("Vous ne pouvez pas louer de véhicule pour aujourd'hui, ni même pour des dates antérieures.");

     frmObj.stday.focus();

}else if(stdate < minDate){

   alert("<?php
            if ($intDestination == $CONFIG['dest_st_martin']) {
                 print("Il est impossible de réserver une voiture moins d\'un jour à l\'avance");
            }
            else {
                    print("Il est impossible de réserver une voiture moins de 2 jours à l\'avance");
            }
            ?>");

   frmObj.stday.focus();

}else if(enddate < today){

     alert("<?php print($LABLES["p5_lbl15"]);?>");

     frmObj.endday.focus();
}<?php // La reservation peut durer moins de trois jours
/*
 // Si le client est pas un pro, la reservation peut durer moins de 3 jours

              if ($_SESSION['usertype'] != $CONFIG["Type_AGENT"]) { ?>

   else if(daysElapsed(resenddate,resstartdate) < 3){

   alert("La durée de la de la réservation ne peut pas être inférieure à 3 jours.");
     frmObj.endday.focus();

}<?php}  */?>else if(!IsValidTime(frmObj.sthour.value,frmObj.stminute.value)) {

         frmObj.sthour.focus();

}else if(!IsValidTime(frmObj.endhour.value,frmObj.endminute.value)){

      frmObj.endhour.focus();

}else if(!elemSelected){

    alert("<?php print($LABLES["p2_lbl1"]);?>");

}else{



     if (strType == 1)

    {

      frmObj.target='_self';

      frmObj.action='Detail.php';

      frmObj.submit();

   }

   else if(strType == 2)

   {

//



window.open("","printdetails","toolbar=no,status=no,scrollbars=yes,location=no,menubar=no,directories=no,resizable=yes,width=550,height=250,left=0,top=0")

      frmObj.action='printResDetail.php';

      frmObj.target='printdetails'

      frmObj.submit();



    }

   else if (strType == 3)

   {

      frmObj.target='_self';

      frmObj.action='infoline.php?a=<? echo $intAmount; ?>&d=<? echo $strStDate;?>&e=<? echo $strEndDate;?>&dest=<? echo $intDestination;?>&p=<? echo $provenance; ?>';

      frmObj.submit();

   }
   
   else

   {

      frmObj.target='_self';

      frmObj.action='ReservationForm.php#supp';

      frmObj.submit();

    }

 }

}

}
 
nickargall Visiter le site web du posteur
FlorentP
WRInaute occasionnel
WRInaute occasionnel

Inscrit le: 25 Juin 2005
Messages: 145

URL permanente de ce messagePosté le : Mer Juil 25, 2007 20:54    Sujet du message: lien avec javascript onClick, marche qu'au deuxième click

Bah c'est simple, le premier clic va rentrer dans ce if :

if(document.resForm.destiagent.value != document.resForm.sourceagent.value)
{
document.resForm.destiagent.value = document.resForm.sourceagent.value;
}

Et lors du deuxieme clic, le test du if sera false, donc ça partira dans le else, et ça te fera le submit().

Si tu veux fixer ça a l'arrache, modifie :


if(document.resForm.destiagent.value != document.resForm.sourceagent.value) {
code1
} else {
code2
}

Par :

code1
code2
 
FlorentP Visiter le site web du posteur
nickargall
WRInaute accro
WRInaute accro

Inscrit le: 13 Juin 2005
Messages: 3695
Localisation: Exilé au Groland à cause de Joe Dalton

URL permanente de ce messagePosté le : Mer Juil 25, 2007 21:17    Sujet du message: lien avec javascript onClick, marche qu'au deuxième click

Ok merci j'ai plus le blocage du double click

(ps : qu'est ce que j'aime pas le javascript ! Smile )

Mille mercis
++
 
nickargall Visiter le site web du posteur
 
Montrer les messages depuis:   
Revenir en haut    Forum -> Développement d'un site Web Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1 - 
Connexion
Nom d'utilisateur:    Mot de passe:      Se connecter automatiquement à chaque visite    

CLIQUEZ ICI pour vous inscrire à WebRankInfo (forum, annuaire, outils...)

Connexion

© 2001-2005 phpBB Group, support français
Personnalisation : WebRankInfo ™


 ODP  Firefox  Alsacreations  annuaire webmaster Yagoort