juto skrev:
kommer den koden att ge auto click?
Den kommer clickar på #admin_language ifrån AJAX callbacken och triggar onclick
orsaken till dubbla onclick är att aktuell landsflagga får en "border" i avvikande färg...
return false kommer aldrig köras då du säger att onclick skall vara något annat direkt efter, så det är onödigt att skriva så.
JjutoMedlem sedan apr. 201028 inlägg Testade utan succes...
<div>
<h1>With jquery</h1>
<a href="attributeManager.php">Languages</a>
</div>
<script type="text/javascript">
$(document).ready(function() {
$(".jqAjax").click(function ( e ) {
e.preventDefault();
$.ajax({
url: this.href,
success: function ( data ) {
//DOM! + trigger inline onclick.
$("#admin_language", "<p>" + data + "<\/p>")[0].onclick();
}
});
});
});
</script>
du har inte en CSS klass ".jqAjax", så den kommer aldrig att köra den...
JjutoMedlem sedan apr. 201028 inlägg okej.. jag lade in den classen i css, var ska den vara någonstans i koden då?
$(".jqAjax") <= letar efter alla element med en klass som heter jqAjax, lägg på de a-element du vill ha din auto-click metod med.
JjutoMedlem sedan apr. 201028 inlägg Gjorde så här o det fungerade inte
<td class="jqAjax">
<div><a href="attributeManager.php">
<?php
$languages = tep_get_languages();
if(count($languages) > 1) {
echo tep_image(DIR_WS_IMAGES . 'icon_exclamation.png', IMAGE_ICON_EXCLAMATION).' '.AM_AJAX_SELECT_PREFERED_LANGUAGE.'<br>';
foreach ($languages as $amLanguage) {
//Begin New code set the default language
if ($amLanguage['id'] == AM_DEFAULT_LANGUAGE_ID){
?>
<!--Bug fixed Original & modified to//-->
<input id="admin_language" type="image" src="<?php echo DIR_WS_CATALOG_LANGUAGES . $amLanguage['directory'] . '/images/' . $amLanguage['image'];?>" title="<?php echo AM_AJAX_CHANGES;?>"
<?php echo ($attributeManager->getSelectedLanguage() == $amLanguage['id']) ?
'style="padding:1px;border:1px solid #006600;" onclick="return false;"' : 'onclick="return amSetInterfaceLanguage(\''.$amLanguage['id'].'\');"';?> >
<?php
}else{
//End new code
?>
<!--Bug fixed Original//-->
<input id="not_admin_language" type="image" src="<?php echo DIR_WS_CATALOG_LANGUAGES . $amLanguage['directory'] . '/images/' . $amLanguage['image'];?>" title="<?php echo AM_AJAX_CHANGES;?>"
<?php echo ($attributeManager->getSelectedLanguage() == $amLanguage['id']) ?
'style="padding:1px;border:1px solid #0000ff;" onclick="return false;"' : 'onclick="return amSetInterfaceLanguage(\''.$amLanguage['id'].'\');"';?> >
<?php
}//Belongs to the new code set the default language
}
}
?>
</a>
</div>
</td>
<td class="jqAjax">
har ju inte onclick event på sig... sen är ju HTML koden felaktig, den validera inte + är inte detta ditt AJAX kod som du få tillbaka? det skall du inte röra... det är din vanliga HTML kod som skall göra ditt AJAX anrop som skall ha .jqAjax (a-element som har ett href attribut).
JjutoMedlem sedan apr. 201028 inlägg testade detta åxå, fortfarande utan succe
<div><a class="jqAjax" href="attributeManager.php">
<input id="admin_language" type="image" src="<?php echo DIR_WS_CATALOG_LANGUAGES . $amLanguage['directory'] . '/images/' . $amLanguage['image'];?>" title="<?php echo AM_AJAX_CHANGES;?>"
<?php echo ($attributeManager->getSelectedLanguage() == $amLanguage['id']) ?
'style="padding:1px;border:1px solid #006600;" onclick="return false;"' : 'onclick="return amSetInterfaceLanguage(\''.$amLanguage['id'].'\');"';?> >
<?php
}else{
//End new code
?>
<!--Bug fixed Original//-->
<input id="not_admin_language" type="image" src="<?php echo DIR_WS_CATALOG_LANGUAGES . $amLanguage['directory'] . '/images/' . $amLanguage['image'];?>" title="<?php echo AM_AJAX_CHANGES;?>"
<?php echo ($attributeManager->getSelectedLanguage() == $amLanguage['id']) ?
'style="padding:1px;border:1px solid #0000ff;" onclick="return false;"' : 'onclick="return amSetInterfaceLanguage(\''.$amLanguage['id'].'\');"';?> >
<?php
}//Belongs to the new code set the default language
}
}
?>
</a>
</div>
Den färdiga koden validerar :)
Men vad försöker du göra nu? Vad är http://www.webforum.nu/showpost.php?p=1531350&postcount=28 för kod? Det är väl din AJAX HTML kod du få tillbaka? den skall ju inte ha jqAjax den skall vara den länk som skall hämta din AJAX data.
JjutoMedlem sedan apr. 201028 inlägg aj då, webforum kom nog bara när jag lade in koden inom html-taggar.
Jag lade in div-en med a-taggen så att den omslöt bilderna med flaggorna, så jag är helt snurrig nu... usch, vad svårt det är
Jag menar vad är detta för kod, i länken jag skickade (är även inlägget direkt ovanför det inlägget). Upptäckte även att http://voigt.se/sandbox/wf/autoClick/ var lite galen, den nedre länken länkar bara vanligt (för att du skall kunna kolla AJAX html koden) är det detta du är ute efter?
JjutoMedlem sedan apr. 201028 inlägg Javscriptet
jag lade in diven och a-tagen med class="jqAjax" så att den omslöt flaggorna
javascriptet är detta som jag plockade från länken, plus att jag lade till parenteser som saknades:
<script type="text/javascript">
$(document).ready(function() {
$(".jqAjax").click(function ( e ) {
e.preventDefault();
$.ajax({
url: this.href,
success: function ( data ) {
//DOM! + trigger inline onclick.
$("#admin_language", "<p>" + data + "<\/p>")[0].onclick();
}
});
});
});
</script>
jag införde oxå ett \ för avslutet av p-taggen, tidy klagade annars
Finns .jqAjax nu i den genererade koden ? Sen undviker du min fråga: "är det detta du är ute efter? " Om det är det, så få du nog visa genererad kod (men bäst hade det varit om du lägger upp så man kan köra koden och se vad det kan fela på.
JjutoMedlem sedan apr. 201028 inlägg jaaa .jqAjax finns i den genererade javascriptet. Ska den finnas på något annat ställe?
jag är ute efter att få clicket att utföras automatiskt, så jag slipper klicka själv på flaggan.
Om du vill köra koden, vilken kod vill du ha?
Sara,
"auto-click" är inte samma sak som att klickar på en länk automatiskt efter att en annan AJAX anrop har körts.
jaaa .jqAjax finns i den genererade javascriptet. Ska den finnas på något annat ställe?
Menar du: $(".jqAjax"), så ser jag ju att den finns, men om du inte ha ett a-element med cssklassen jqAjax så finns det inga element som är click eventet för AJAX anropet som jag skrev i mitt exempel.
Om du vill köra koden, vilken kod vill du ha?
Så lite HTML kod som möjligt (men det som krävs för att kunna köra det du skulle vilja få igång), ingen PHP kod.
finns amSetInterfaceLanguage metoden alltid också?
JjutoMedlem sedan apr. 201028 inlägg classen finns i den genererade koden
<a href="attributeManager.php" class="jqAjax">
<input type="image" onclick="return amSetInterfaceLanguage('4');" title="Använda detta språk?" src="/includes/languages/svenska/images/icon.gif" id="admin_language">
<input type="image" onclick="return amSetInterfaceLanguage('1');" title="Använda detta språk?" src="/includes/languages/english/images/icon.gif" id="not_admin_language">
<input type="image" onclick="return amSetInterfaceLanguage('5');" title="Använda detta språk?" src="/includes/languages/espanol/images/icon.gif" id="not_admin_language">
<input type="image" onclick="return amSetInterfaceLanguage('6');" title="Använda detta språk?" src="/includes/languages/deutsch/images/icon.gif" id="not_admin_language">
</a>
amSetInterfaceLanguage finns också alltid...
Vet du vad om jag ger dig access till admin, kan det hjälpa?
I så fall behöver jag din ip-adress
jag kikade på html koden och den är så stor... *suck*
JjutoMedlem sedan apr. 201028 inlägg Nu är jag så himla trött, vill krypa under täcket. Jag återkommer i morgon. lite piggare
juto skrev:
<a href="attributeManager.php" class="jqAjax">
<input type="image" onclick="return amSetInterfaceLanguage('4');" title="Använda detta språk?" src="/includes/languages/svenska/images/icon.gif" id="admin_language">
<input type="image" onclick="return amSetInterfaceLanguage('1');" title="Använda detta språk?" src="/includes/languages/english/images/icon.gif" id="not_admin_language">
<input type="image" onclick="return amSetInterfaceLanguage('5');" title="Använda detta språk?" src="/includes/languages/espanol/images/icon.gif" id="not_admin_language">
<input type="image" onclick="return amSetInterfaceLanguage('6');" title="Använda detta språk?" src="/includes/languages/deutsch/images/icon.gif" id="not_admin_language">
</a>
amSetInterfaceLanguage finns också alltid...
jag kikade på html koden och den är så stor... *suck*
Var kommer denna HTML koden ifrån, finns den alltid på sidan eller det är först efter att du har kört din ajax applikation? Om det är så, så är det helt fel. min kod förväntar sig att .jqAjax finns redan på sidan (och att den har ett href attribut).
Vet du vad om jag ger dig access till admin, kan det hjälpa?
I så fall behöver jag din ip-adress
Förmodligen, men det känns väl ändå bättre om du löser problemet själv ? ;)
JjutoMedlem sedan apr. 201028 inlägg Godmorgon, koden kommer efter att min ajax-applikation startat.
Skickar en mugg kaffe... [_])
När körs ajax-"applikationen"? Direkt på sidan också? Min kod kör ajax anropet först när någon tryckte på a.jqAjax och anropet tillbaka från ajax anropet hämtar den upp #admin_language och kör click-eventet på den.
Sen skall ID:n vara unika "not_admin_language" finns på fler än ett ställe, behöver du ha ett sådant ID/klass-attribut alls?