我有这样的表格。我想在ajax中保存表单,主要是 此处输入的数据将按2行插入。 1表示产品a,另一个表示b。
(a和b是产品的名称,将在产品名称栏中保存为a和b)
<form class="product-data" action="">
<table>
<tr class="data-row">
<td>
<input type="number" name="finance[a_source_unit]" >
</td>
<td >
<input type="number" name="finance[a_target_unit]">
</td>
<td>
<input type="number" name="finance[a_client_price]">
</td>
<td>
<input type="number" name="finance[a_client_salary]" >
</td>
</tr>
<tr class="data-row">
<td>
<input type="number" name="finance[b_source_unit]" >
</td>
<td >
<input type="number" name="finance[b_target_unit]">
</td>
<td>
<input type="number" name="finance[b_client_price]">
</td>
<td>
<input type="number" name="finance[b_client_salary]" >
</td>
</tr>
</table>
</form>
我的数据库是这样的
id product_name source_unit target_unit client_price client_salary
所以我像这样制作了我的ajax
var Table = $(this).closest('.product-data');
var data = Table.serializeArray();
data.push({name: 'action', value: 'save_product_data' });
$.post( ajaxUrl, data, function(msg) {
console.log(msg);
});
在save_product_data函数中,我有这样的数据
function save_product_data() {
$finance = $_POST['finance'];
print_r($finance);
}
数据就像这样
Array
(
[a_source_unit] => 3213
[a_target_unit] => 123
[a_client_price] => 34278
[a_client_salary] => 7584
[b_source_unit] => 3213234
[b_target_unit] => 1234
[b_client_price] => 34275438
[b_client_salary] => 75854
)
所以我基本上希望a的值插入一行,b将插入另一行。
答案 0 :(得分:0)
如果你使用这样一个表格:
<form class="product-data" action="">
<table>
<tr class="data-row">
<td>
<input type="number" name="finance[a][source_unit]" >
</td>
<td >
<input type="number" name="finance[a][target_unit]">
</td>
<td>
<input type="number" name="finance[a][client_price]">
</td>
<td>
<input type="number" name="finance[a][client_salary]" >
</td>
</tr>
<tr class="data-row">
<td>
<input type="number" name="finance[b][source_unit]" >
</td>
<td >
<input type="number" name="finance[b][target_unit]">
</td>
<td>
<input type="number" name="finance[b][client_price]">
</td>
<td>
<input type="number" name="finance[b][client_salary]" >
</td>
</tr>
</table>
</form>
您在$_POST
数组中会有类似的内容,您只需要使用foreach逐行插入:
array
'finance' =>
array
'a' =>
array
'source_unit' => string '5' (length=1)
'target_unit' => string '5' (length=1)
'client_price' => string '5' (length=1)
'client_salary' => string '5' (length=1)
'b' =>
array
'source_unit' => string '1' (length=1)
'btarget_unit' => string '1' (length=1)
'bclient_price' => string '1' (length=1)
'client_salary' => string '1' (length=1)