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

使用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");

转载于:https://my.oschina.net/tangzhichao/blog/781607

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值