使用ajax提交一个包含未知数量字段的html表单
Submitting a html form with an unknown amount of fields with ajax
我有一个由成对文本字段组成的表单。用户可以创建任意数量的配对并填写字段。字段行被添加到表的底部。以下是格式示例:
<form id="dataForm">
<table id="textTable">
<tbody>
<tr>
<td><h2>Dancer</h2></td>
<td><h2>Place</h2></td>
</tr>
<tr>
<td><input type="text" name="Dancer0" size="15" id="Dancer0"></td>
<td><input type="text" name="Place0" size="15" id="Place0"></td>
</tr>
<tr>
<td><input type="text" name="Dancer1" size="15" id="Dancer1"></td>
<td><input type="text" name="Place1" size="15" id="Place1"></td>
</tr>
</tbody>
</table>
<input type="button" id="newRow" value="New Row" accesskey="/" onclick="moreFields();">
<input type="button" value="Update" name="Submit" onclick="submitForm(this.form);">
</form>
我遇到的问题是使用ajax将表单正确提交到外部php页面。这就是我现在使用的功能:
function submitForm(form)
{
jQuery.ajax({
type: "POST",
url: <?php echo '"'.dirname(curPageURL()).'/ResultsUpdater.php"' ?>,
data: form.serialize(),
success: function(msg){
alert(msg);
}
});
return false;
}
在其他例子中,我看到他们使用$表示jQuery,它会放在"form"前面:$(form).serialize()
和$.ajax({...
,但我的服务器不喜欢$
。我也尝试过jQuery.form.serialize()
,但也不起作用。我在控制台中得到的错误总是沿着"TypeError: 'undefined' is not an object (evaluating 'jQuery.form.serialize')"
的路线
如果我能向php文件提交一堆键值对(根据我对serialize()的理解,这将是非常棒的。
你可以试试这里的表格
只需选择其中一个下拉项即可查看表单。
感谢
您可以这样做:
jQuery("#dataForm").serialize();
我已经在你引用的页面上成功地尝试过了。
由于$
在您的页面上是未定义的,我的最佳猜测是您加载了一些将$
重置为未定义的脚本。因此,最好的方法是返回使用jQuery
,因为$
只是jQuery
的别名。
相关文章:
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 而循环只设置php中输入字段中的第一个值
- 在输入字段中将最小金额设置为
- 从Rally获取一个特定的标记,以便计算另一个字段中的值
- 如何在输入字段中的按钮的帮助下打开日历,该字段的类型为“=”;日期”;
- JavaScript 检查隐藏字段中的值并将其设置为隐藏字段值
- 在wordpress一定时间后更改自定义字段
- 如何在HTML输入字段中添加不可删除的后缀
- Meteor-添加用户自定义字段的方法不起作用
- 互斥单选按钮和相应的输入字段
- 在IE9中的输入字段中输入焦点最近按钮
- 选中单选框时将属性添加到输入字段
- 带有验证和隐藏字段值的提交按钮
- 主干窗体隐藏字段未呈现
- 带有let的JS/EECMAScript6私有字段的模式
- 按钮字段确认点击不'不起作用
- jQuery Wan Spinner插件的多个字段
- 通过单击动态加载的表中同一行的另一个字段来更新一行的字段
- 清除以前的$_GET值或不获取仅隐藏字段的值
- 当设置addFromAutocompleteOnly时,剩余文本将保留在输入字段中