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が初めてなので、チュートリアルに従ってきたので、私の素朴さを許してください!どうすればこれを機能させることができますか?

4

5 に答える 5

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();

id="bill" が表示されない

于 2012-04-12T20:54:34.440 に答える
0

欠損値を無視することbill-nameは有効な識別子ではありません。本当に使用したい場合はbill-name、引用符で囲み、jQuerys を使用して値を取得する必要がありますval()

$.post('insert_bill.php',{ 'bill-name' : $('#bill-name').val() } ....
于 2012-04-12T20:59:40.780 に答える
0

定義さえされていない変数を渡しています。あなたが行ったように、すべての投稿変数を定義してvar bill = $("#bill").val();から渡す必要があります。

すべてを実行するこのjQuery プラグインを使用することをお勧めします。私はそれを使用し、それはうまく動作します。

于 2012-04-12T20:56:47.520 に答える
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>
于 2012-04-12T20:56:51.880 に答える