2013-01-17 66 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); 
     } 
    } 
    }); 
});