入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

使用ajaxSubmit自动填充数据时,如果input的name重名则无法填充该input数据值

创建时间:2016-10-22 投稿人: 浏览次数:769

使用ajaxSubmit自动填充表单数据时,当前html页面中出现相同name的input。

<form id="formId1">
<input name="taskId"/>
</form>
......
<form id="formId2">
<input name="taskId"/>
</form>

那么,jqueryform无法获取到该input数据值。

var params = {};//jqueryform会自动填充此参数
$("#formId1").ajaxSubmit({
    "url": "http://xxxxxx",
    "data": params,
    "type": "POST",
    "dataType": "json",
    "success": function (data) {
    },
    "error": function (xhr, status, error) {
    }
);
//后台服务器找不到taskId参数

由此可见,jqueryform自动填充参数时,是将整个页面的input全部填充,而不只是填充该form下的input。

解决办法:
目前没想到什么好办法,只是将名称改为不一样就行。
给两个相同name的input设置不同的id,然后在formId1提交前:

document.getElementById("taskId_1").setAttribute("name","taskId");
document.getElementById("taskId_2").removeAttribute("name");

在formId2提交前:

document.getElementById("taskId_2").setAttribute("name","taskId");
document.getElementById("taskId_1").removeAttribute("name");
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。