用于动态表数据的jQuery AJAX POST到mysql表 – 我是否以正确的方式执行此操作?

我有一个表,我可以动态添加和删除任意数量的行。 一旦数据全部由用户输入,我使用jQuery AJAXfunction将其POST到mysql数据库,因此没有页面重定向或刷新。

我能想到让它工作的唯一方法是在我的jQuery中使用这个for循环,有效地将每一行分别发布到数据库。 这有多笨? 我应该获取所有表数据并将其发布一次吗? 用户可以有任意数量的行,用户可以在提交之前尽可能多地添加和删除行。

奇怪的i变量计数是由于表顶部有第二行。 我无法巧妙地做到这一点。

我总是与正确的行相关联的数据有点偏执。

感谢您的时间。

jQuery(function() { jQuery(".button1").click(function() { // process form here var rowCount = jQuery('#dataTable tr').length; for (var i = 2; i < rowCount; i++){ // the four elements of each row I am storing to the mysql var txtRow1 = jQuery('#txtRow' + (i-1)).val(); var tickerRow1 = jQuery('#tickerRow' + (i-1)).val(); var quantRow1 = jQuery('#quantRow' + (i-1)).val(); var valueRow1 = jQuery('#valueRow' + (i-1)).val(); var dataString = 'txtRow1='+ txtRow1 + '&tickerRow1=' + tickerRow1 + '&quantRow1=' + quantRow1 + '&valueRow1=' + valueRow1; //alert (dataString);return false; jQuery.ajax({ type: "POST", url: "http://rccl.co.uk/form_action1.php", data: dataString }); }; return false; }); }); 

它看起来非常清楚,好像你有一个完善的行的索引,使用你的变量i 。 大多数表单处理程序服务器端会将表单的重复键解压缩到一个列表中,例如许多具有相同名称的复选框。 你可以在这里利用它。

 datastring = ''; for(var i=2; i