【发布时间】:2015-10-15 21:54:39
【问题描述】:
我有一个表格,我可以在其中克隆一个表格行。每个表单元素都被命名为一个数组,名称后面带有 []。如果我将表单直接发送到 PHP 脚本,这没什么大不了的。我不想刷新,所以我需要将值存储在 javascript 数组中,然后将该数组发送到我的 php 脚本等。我很难创建一个新的 javascript 变量,它是所有值的数组。
这是一个完整的我确信在 PHP 中请求它是非常简单的。
这是我的 HTML 表单的示例。
<form class="form8" name="formfine">
<table class="tablesorter2" cellspacing="0" id="adddate">
<tbody>
<tr>
<td>Expense:</td>
<td>
<select id="fineexpense" name='fineexpense[]'>
<option value='Mortage/Rent'>Mortage/Rent</option>
<option value='Auto'>Auto</option>
</select>
</td>
</tr>
</tbody>
</table>
</form>
这是我当前的 AJAX 函数
function ajax_finesave(){
var hr = new XMLHttpRequest();
var url = "PHP/FFfinesave.php";
var fineexpense = document.formfine.elements['fineexpense[]'];
对此的任何帮助都会很棒,请求 ajax 发送变量的正确方法也会有所帮助。谢谢
【问题讨论】:
-
[]并不是真正的“数组表示法”。这只是 php 在使用具有该模式的键(名称)处理请求参数时显示的行为。所以你必须在 javascript 中做同样的事情:你创建一个选择器来返回所有匹配的元素并遍历结果集。然后在每次迭代中选择值并将它们放入 javascript 数组中。 -
你有很多同名和同名的行??
-
这完全取决于,可能只有 1 或 10,取决于用户交互。
-
@AndrewBrown 涉及什么技术并不重要,您的表单字段将需要唯一的名称,对于 js,如果它们也有唯一的 id,生活会更轻松,尽管没有理由 id 和名称在单个字段上不能相同
-
也许我错过了如何完成我想要的一切的结构。我想要做的就是确保我的表单字段中动态创建的行被一个javascript变量捕获,这样我就可以通过AJAX将它发送到PHP脚本......谢谢你的回复。
标签: javascript php jquery arrays ajax