2014-02-24 13 views
0

我試着寫一個wordpress插件誰需要查詢分貝。我無法讓它工作。這是我的嘗試:沒有發生在Ajax數據提交在wordpress

jQuery('#demo_ajax').submit(function(){ 
    var data = jQuery("#data").val(); 
    $.ajax({ 
     data: data, 
     type: 'post', 
     url: '<?php echo admin_url('admin-ajax.php'); ?>?action=demo_ajax', 
    }); 
}); 

一個簡單的形式:

<form action="" id="demo_ajax" method="POST"> 
    <input type="text" name="data" placeholder="Data" id="data"> 
    <input type="submit" value="Go"> 
</form> 

和PHP處理程序:

add_action('wp_ajax_demo_ajax', 'demo_ajax'); 
function demo_ajax() { 
    echo '<script>alert("' . $_POST["data"] . '"</script>'; 
    die(); 
} 

現在,當我點擊提交按鈕,沒有任何反應...該頁面只是重新加載(它不應該......)。我錯過了一些代碼?

回答

2

您需要防止提交表單,所以使用return false;

jQuery('#demo_ajax').submit(function(){ 
    var data = jQuery("#data").val(); 
    $.ajax({ 
     data: data, 
     type: 'post', 
     url: "<?php echo admin_url('admin-ajax.php'); ?>?action=demo_ajax", 
    }); 
    return false; //add this 
}); 
+0

或'event.preventDefault()',而不是返回。 – alalp

+1

並修復引號 – dfsq

+0

無關:網頁仍然被重新加載,並且該功能未被執行...... – Mariano