我有一個自定義的WordPress插件,它似乎不能在IE7或IE8中工作。但在IE9中運行良好。AJAX jQuery調用不會在IE7,IE8中觸發,但在Firefox,Chrome等中可以正常工作
因此,用戶點擊此鏈接:
<a style="cursor:pointer;color:#ddd;" onclick="Javascript:cp_module_lottery1ptentry();">LINK</a>
進而調用此:
function cp_module_lottery1ptentry(){
cpdlotterymsg='<?php _e('Are you sure you want to use ', 'cplotto'); ?> <?php echo get_option('cp_lottery1_enter_amount'); ?> <?php _e(' points to purchase a '.get_option('cp_point_entry_label').'?', 'cplotto'); ?>';
thebox = new Boxy('<form id="cp_donate" name="cp_donate" method="post" onsubmit="Boxy.confirm(cpdlotterymsg,function(){cp_module_lottery1ptentry_do();});return false;"><p><strong><?php _e('Use', 'cplotto'); ?> <?php echo get_option('cp_lottery1_enter_amount'); ?> <?php _e('points to purchase a '.get_option('cp_point_entry_label').'.', 'cplotto'); ?></p><br /><br /><input type="submit" value="<?php _e('Purchase '.get_option('cp_point_entry_label').'', 'cplotto'); ?>" style="width:300px;" /></form>', {title: '<?php _e(''.get_option('cp_point_entry_log_label').'', 'cplotto'); ?>', modal: true});
}
其中一期工程,但下一步它打破它調用:cp_module_lottery1ptentry_do()
function cp_module_lottery1ptentry_do(){
<?php $cb_current_page_url = get_permalink(); ?>
jQuery.ajax({
url: "<?php bloginfo('url'); ?>/wp-admin/admin-ajax.php",
type: "POST",
cache: false,
dataType: "json",
data: "action=cp_module_lottery1ptentry_do",
success: function(data){
if(data.success==true){
Boxy.alert(data.message);
window.setTimeout('window.location = "<?php echo $cb_current_page_url; ?>"', 5500);
thebox.hide();
thebox.unload();
}
else{
Boxy.alert(data.message);
}
}
});
}
我在IE7/IE8中沒有任何錯誤,當它調用cp_module_lottery1ptent ry_do()函數。
我做了很多搜索並嘗試了幾件事,但沒有任何工作。
嗯,我們在演示頁面點擊了什麼?什麼模擬賬戶? – mrtsherman 2012-01-10 18:30:29
這段代碼是可讀的..你有30次相同的基本功能,只有1件事略有不同..從jquery簽出$ .extend函數..也可以設置AJAX的默認值http://api.jquery.com/jQuery .ajaxSetup/ 檢查了頁面上的源代碼,而不是上面的代碼。 – 2012-01-10 18:34:42
個人而言,我要做的是擺脫元素上的onclick屬性,並將它們與不顯眼的javascript綁定。此外,我要做的是將一些定製屬性將會觸發ajax調用,可能會創建一個action屬性,它將會傳遞你正在傳遞的動作(在數據參數中),然後是一個cb參數,它定義了一個函數的名稱在請求成功 – 2012-01-10 18:38:43