2013-01-17 65 views
0

我有一個表單,我想將它發佈到MySQL,而無需提交。我發現每個值都會用ajax發佈值。如果我點擊一個文本字段,它會向mysql插入一個新行,如果我移動到下一個字段,它會使用我的值更新mysql。可能嗎?輸入文本onkeyup ajax插入到mysql

我的形式:

<input type="text" maxlength="50" size="50" value="" name="name"> 
<input type="text" maxlength="50" size="50" value="" name="level"> 
<input type="text" maxlength="50" size="50" value="" name="pass"> 
<input type="text" maxlength="50" size="50" value="" name="date"> 

+0

第一次插入,然後更新:) – user1632298

+1

您確定在每次連接後更新數據庫嗎?我推薦[change()](http://api.jquery.com/change/)函數。 [jsfiddle示例](http://jsfiddle.net/NHffH/) –

+1

當某人輸入一條記錄然後離開該頁面時會發生什麼?你似乎打開了自己的大量無效數據。 – Malkus

回答

0

創建id爲一個隱藏的輸入,並給它沒有價值,然後在每個keyup事件提交,如果id字段爲空運行插入查詢並返回該id,並使用該值更新id字段。如果該值不爲空,請使用表單數據運行更新查詢。我提供了一個使用jQuery的例子,但是如果沒有它,你可以做同樣的事情。使用jQuery或任何其他庫,Ajax更容易。

<input type='hidden' id='id' name='id' value=''/> 


$('input').keyup(function(){ 
    var data = $('#myform').serialize(); 
    $.ajax({ 
    type:'post', 
    data:data, 
    url:'...', 
    dataType:'json', 
    success:function(response){ 
     var id = response.id; 
     if(typeof(id) != 'undefined'){ 
      $('#id').val(id); 
     } 
    } 
    }); 
});