2011-02-03 50 views
0

我有以下腳本。我想POST數據並將其插入到數據庫中,jQuery執行得很好,但不發佈任何內容,該操作正常工作,因爲當我發佈沒有腳本的數據時,數據帖子正常並被插入到數據庫很好,沒有任何錯誤,所以看起來好像jquery函數沒有發佈任何內容。有人可以幫忙嗎?問題發佈數據與jQuery提交()

$('#form').live('submit',function(){ 
    $('#form').fadeOut('slow'); 
    $('#div').append("<h2>submittes</h2>"); 
    return false; 
    }); 


<form id="form" method="post" action="execute.php" name="form"> 
<textarea id="text" name="update"></textarea> 
<br> 
<input type="submit" value="update" id="update-submit"> 
</form> 

編輯:

$('#form').live('submit',function(){ 
var updateTextArea = $('#textarea').val(); 
$.ajax({ 
    type: "POST", 
    url: "execute.php", 
    data: updateTextArea, 
    success: function() { 
    $('#form').fadeOut('slow'); 
    $('#div').append("<h2>updated</h2>"); 
    } 
    }); 
    return false; 
    }); 

這就是我對AJAX,但我仍然沒有任何成功。

回答

2

您的javascript中沒有任何AJAX調用。你只是淡出表單,附加h2,並防止發生默認操作(這將正常提交表單)。

下面是如何創建一個POST Ajax請求一個基本的例子:

$('#form').submit(function(){ 
    $.post($(this).attr('action'), { update: $(this).find('#text).val() }, function(){ 
    // success 
    }); 
}); 

結帳jQuery的API /文檔以獲取更多的信息。如何做到這一點,還有幾十個教程圍繞着網絡潛伏着。

+0

K,以及我曾嘗試創建Ajax功能,在發送數據,但我的行動網頁尋找一個名爲更新變量後,我怎麼能確保該變量是通過名稱更新 – mcbeav 2011-02-03 06:02:54

1

好了,從事件處理函數返回false,你觸發了兩兩件事:

  • 防止默認動作(.preventDefault()
  • 停止事件傳播(.stopPropagation()

這阻止提交發生。

您需要在提交事件處理程序中自行傳輸數據。例如,創建一個將表單數據序列化並將其發送到服務器的ajax請求。

可能看起來像:

$('#form').live('submit',function(){ 
    $('#form').fadeOut('slow'); 
    $('#div').append("<h2>submittes</h2>"); 

    $.post('execute.php', $(this).serialize(), function(data) { 
     // do something after success 
    }); 
    return false; 
});