2012-04-12 55 views
0

我嘗試後使用AJAX,我有以下的表格數據到我的表,後數據

<form> 
    Total <input type="text" id="total" name="total" /><br /> 
    Bill name<input type="text" id="bill-name" name="bill-name" /><br /> 
    bill descriptiion <input type="text" id="bill-description" name="bill-description" /><br /> 
    bill colour<input type="text" id="bill-colour" name="bill-colour" /> 
    <input type="button" value="submit" onClick="insertBill();" /> 
</form>  

我的AJAX代碼是...

<script type="text/javascript"> 
function insertBill() 
{ 
    var bill = $("#bill").val(); 
    $.post('insert_bill.php', {total: total, bill-name: bill-name, bill-description: bill-description, bill-colour: bill-colour}, function(data) 
    { 
     $("#bills").html(data); 
    }); 
} 
</script> 

由於某些原因,但我的價值觀沒有被通過。我是AJAX的新手,所以我一直在跟着一個教程,所以原諒我的天真!我如何完成這項工作?

+1

爲什麼PHP的標籤? – hjpotter92 2012-04-12 20:50:41

+0

另外,在你的函數中你正在調用一個ID爲bill的表單。編輯你的表格標籤,並添加此標識 – hjpotter92 2012-04-12 20:52:29

回答

1

對於這一點,所以很多其它PHP,jQuery的AJAX的問題,我強烈推薦serialize試試這個:

<div id="bills"></div> 
<script type="text/javascript"> 
function insertBill() 
{ 
    $.post('insert_bill.php', $('form').serialize(), 
     function(data) { 
     $("#bills").html(data); 
    }); 
} 
+0

就像一個魅力!謝謝,從來沒有聽說過序列化之前 – Liam 2012-04-12 21:00:25

+0

高興地幫助 - 所以這是公認的答案? :) – mikevoermans 2012-04-12 21:02:20

+0

當然是@mikevoermans! – Liam 2012-04-12 21:20:03

0

您的JavaScript變量尚未定義。你的javascript函數不知道表單。

嘗試是這樣的:

$.post('insert_bill.php', {total: $('#total').val(), bill-name: $('#bill-name').val()... 

或者你可以事先設定的變量

<script type="text/javascript"> 
function insertBill() 
{ 
    var total = $('#total').val(); 

我不知道這是什麼儘管這樣做:

var bill = $("#bill").val(); 

我不't see any id =「bill」

0

您正在傳遞甚至沒有定義的變量。您需要像那樣定義所有後期變量,然後傳遞它們。

我建議你使用this jQuery插件,它可以爲你做所有事情。我使用它,它工作正常。

0

更改form標籤這個(或類似的東西)

<form id="bill" onsubmit="return insertBill();"> 

,並在你的函數,這樣做:

<script type="text/javascript"> 
    function insertBill() { 
    var bill = $("#bill").val(); 
    $.post('insert_bill.php', {total: total, bill-name: bill-name, bill-description: bill-description, bill-colour: bill-colour}, function(data) 
     { 
     $("#bills").html(data); 
     }); 
    return true;  // So that form may proceed. 
    } 
</script> 
0

忽略錯誤唱歌值,bill-name不是有效identfier,如果你真的想使用bill-name,你應該把它包在引號和使用jQuerys val()檢索值:

$.post('insert_bill.php',{ 'bill-name' : $('#bill-name').val() } ....