加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 03:37:13 所属栏目:百科 来源:网络整理
导读:使用ajaxSubmit自动填充表单数据时,当前html页面中出现相同name的input。 如 form id = "formId1" input name = "taskId" / / form ...... form id = "formId2" input name = "taskId" / / form 那么,jqueryform无法获取到该input数据值。 var params = {}

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读