webForumDet fria alternativet

jquery auto click event.. får det inte att fungera

JavaScript

51 svar · 6 184 visningar · startad av juto · sida 3 av 3

Frågan, av juto

Hejsan! Jag har en ajax applikation där jag försöker trigga ett click event Jag använder jquery 1.42 och får inga felmeddelanden i firebug etc. \<script type="text/javascript"\> $(document).ready(function() { $('#defaultlanguage').trigger('click'); }); \</script\> I min ajax applikation har jag: \<?php $languages = tepgetlanguages(); if(count($languages) \> 1) { foreach ($languages as $am

Läs frågan i sin helhet →
Medlem sedan apr. 201028 inlägg
#41

Fundering..

Ajax applikationen körs direkt på sidan. Så här laddas den via en annan sida:

<!-- AJAX Attribute Manager //-->
<tr>
<td colspan="2"><?php require_once( 'attributeManager/includes/attributeManagerPlaceHolder.inc.php' )?></td>
</tr>
<!-- AJAX Attribute Manager end //-->

Kan det fungera om jag omsluter ovanstående med din div & a-tag?

Medlem sedan juni 20019 519 inlägg
#42

Var hämtas den koden ifrån? eller är det bara så att du kör en include på den sidan och inte att ajax körs i huvudtaget?

Medlem sedan apr. 201028 inlägg
#43

Den gör en include

attributeManagerPlaceHolder.inc.php ser ut så här:

<?php

		require_once('attributeManager/classes/attributeManagerConfig.class.php');

if( isset($_GET['pID'])){

		require_once('attributeManager/classes/stopDirectAccess.class.php');
		stopDirectAccess::authorise(AM_SESSION_VALID_INCLUDE);
		
		echo '<div id="attributeManager">';
		echo '</div>';

} else {
		echo '<div id="topBar">';
		echo '<table><tr><td>' . tep_image(DIR_WS_IMAGES . 'icon_exclamation.png', IMAGE_ICON_EXCLAMTION).  '</td><td>' . AM_AJAX_FIRST_SAVE . '</td></tr></table>';
		echo '</div>';
}
?>

I ovanstående finns:

echo '<div id="attributeManager">';
echo '</div>';

Är det den som ska omslutas av din div & a-tag?

Medlem sedan juni 20019 519 inlägg
#44

Än så länge säger det inget om när #admin_language elementet kommer in eller hur den kommer in... det är den koden som är intressant, för det är där man måste få in att den skall auto-clickar på eventet.

Medlem sedan apr. 201028 inlägg
#45

elementet kommer in i filen attributManager.php pfs

Så här ser det ut

		<td>
    <div><a class="jqAjax" href="attributeManager.php">
		<?php

		$languages = tep_get_languages();

		if(count($languages) > 1) {

      echo tep_image(DIR_WS_IMAGES . 'icon_exclamation.png', IMAGE_ICON_EXCLAMATION).'&nbsp;'.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//-->
			&nbsp;<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//-->
			&nbsp;<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>
Medlem sedan apr. 201028 inlägg
#46

Jag måste iväg till tandläkaren, är tillbaka om ca 2 timmar

Medlem sedan juni 20019 519 inlägg
#47

juto skrev:

Så här ser det ut

		<td>
    <div><a class="jqAjax" href="attributeManager.php">
		<?php

		$languages = tep_get_languages();

		if(count($languages) > 1) {

      echo tep_image(DIR_WS_IMAGES . 'icon_exclamation.png', IMAGE_ICON_EXCLAMATION).'&nbsp;'.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//-->
			&nbsp;<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//-->
			&nbsp;<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>

Men VAR är denna koden i din genererade HTML kod? Om det INTE är det, så skall du inte ha något a-element med klassen .jqAjax då den kommer hämta HTML koden som a-elementet kommer skicka dig till.

Medlem sedan apr. 201028 inlägg
#48

Här..

Tillbaka, tandis var inte snäll med mig... *s*
Jag plockade fram nedanstående mhja av Firebug inspektera element (pekade på flaggorn)

<div><a href="attributeManager.php" class="jqAjax">
		<img title=" Krävs! " alt="Krävs!" src="images/icon_exclamation.png">&nbsp;OBS! Välj först det språk du föredrar:<br>

			&nbsp;<input type="image" onclick="return amSetInterfaceLanguage('4');" title="Använda detta språk?" src="/includes/languages/svenska/images/icon.gif" id="admin_language">

			&nbsp;<input type="image" onclick="return amSetInterfaceLanguage('1');" title="Använda detta språk?" src="/includes/languages/english/images/icon.gif" id="not_admin_language">

			&nbsp;<input type="image" onclick="return amSetInterfaceLanguage('5');" title="Använda detta språk?" src="/includes/languages/espanol/images/icon.gif" id="not_admin_language">

			&nbsp;<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>
    </div>
Medlem sedan juni 20019 519 inlägg
#49

juto skrev:

Tillbaka, tandis var inte snäll med mig... *s*
Jag plockade fram nedanstående mhja av Firebug inspektera element (pekade på flaggorn)

<div><a href="attributeManager.php" class="jqAjax">
		<img title=" Krävs! " alt="Krävs!" src="images/icon_exclamation.png">&nbsp;OBS! Välj först det språk du föredrar:<br>

			&nbsp;<input type="image" onclick="return amSetInterfaceLanguage('4');" title="Använda detta språk?" src="/includes/languages/svenska/images/icon.gif" id="admin_language">

			&nbsp;<input type="image" onclick="return amSetInterfaceLanguage('1');" title="Använda detta språk?" src="/includes/languages/english/images/icon.gif" id="not_admin_language">

			&nbsp;<input type="image" onclick="return amSetInterfaceLanguage('5');" title="Använda detta språk?" src="/includes/languages/espanol/images/icon.gif" id="not_admin_language">

			&nbsp;<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>
    </div>

Firebug != genererad kod

Firebug visar kod som webbläsaren kör, så om du kör ett AJAX anrop så kommer den nya HTML koden att finnas med i firebug.

Visa källkod, finns

<input type="image" onclick="return amSetInterfaceLanguage('4');" title="Använda detta språk?" src="/includes/languages/svenska/images/icon.gif" id="admin_language">

med i den (och se över din HTML kod, snälla!) "not_admin_language" finns på fler än ett ställe och är ett ID, ID:n är unika)

Medlem sedan apr. 201028 inlägg
#50

ooops, har fixat not_admin_language till att vara en class. "Show source" visar inget av det som visas av "inspektera element" dvs inget av class jqAjax :(

Medlem sedan apr. 201028 inlägg
#51

jag hittade något som kanske kan vara av intresse:
https://developer.mozilla.org/en/DOM/window.location
jag la till denna där före <div><a class="jqAjax"...
med en button, ett click på denna gjorde att den aktuella produkten visades, dvs den produkt som attributeManager användes på. Då undrar jag om inte href borde vara något annat än tex "attributeManager.php" eller "#" ?

Medlem sedan juni 20019 519 inlägg
#52

Nej, det är inte av något intresse, då kan du lika väl köra href attribut och byta ut dina <input image> till a-element med ett img-element.

268 ms totalt · 4 externa anrop · v20260731065814-full.2f471f9e
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)