lien avec javascript onClick, marche qu'au deuxième click
7 messages • Page 1 sur 1
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
-

nickargall - WRInaute accro

- Messages: 5314
- Inscription: Lun Juin 13, 2005 14:13
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.
Le code du lien :
ça me le fait sur tous les liens contenant cette fonction ou une autre. Et ça m'énerve
. Je ne trouve rien sur le web, même pas un début d'explication ou de solution.)
Merci pour vos réponses ...
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.
Le code du lien :
- Code: Tout sélectionner
<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
Merci pour vos réponses ...
-

nickargall - WRInaute accro

- Messages: 5314
- Inscription: Lun Juin 13, 2005 14:13
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 !

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 !
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 
-

nickargall - WRInaute accro

- Messages: 5314
- Inscription: Lun Juin 13, 2005 14:13
Ok si tu y tiens .. j'en suis pas l'auteur, donc je patauge un peu
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 :
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: Tout sélectionner
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();
}
}
}
}
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
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
-

nickargall - WRInaute accro

- Messages: 5314
- Inscription: Lun Juin 13, 2005 14:13
Ok merci j'ai plus le blocage du double click
(ps : qu'est ce que j'aime pas le javascript !
)
Mille mercis
++
(ps : qu'est ce que j'aime pas le javascript !
Mille mercis
++
7 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Google sait désormais suivre les liens JavaScript !
- Optimisation du référencement d'un site en AJAX
- Comment faire des liens en dur dans son annuaire
- Click-to-Call AdWords (Pay-per-Call de Google)
- Googlebot analyse certains codes JavaScript
- First Click Free : enjeux pour Google et les éditeurs de sites
- Parts de marché des moteurs en Europe (Février 2006)
- Parts de marché des moteurs aux USA (Janvier 2007)
- Parts de marché des moteurs aux USA (Mars 2007)
- Changer d'hébergeur web sans pénaliser son référencement
Consultez la description détaillée des produits ou services de Google suivants : Google Click-To-Call
- Test de lien (type de redirection)
Cet outil vous permet de tester la validité d'un lien pour le référencement. Il vous indique la nature du lien (lien en dur, redirection bien gérée par les moteurs ou redirection mal gérée par les moteurs). - Calcul du taux de liens vers des pages internes
Cet outil vous permet de calculer le taux de liens profonds vers un site web. Un lien profond est un lien qui ne pointe pas vers la page d'accueil mais au contraire vers une page interne du site. Les sites dont l'essentiel du référencement vient de leurs inscriptions dans des annuaires ont un taux de liens profonds faible ; à l'inverse, les sites de référence ont souvent un taux de liens profonds plus important, signe que leur contenu a suscité de nombreux liens spontanés. - Recherche de citations d'un site en texte brut
Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités



le forum