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

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

<form id=@H_502_10@"formId1">
<input name=@H_502_10@"taskId"/>
</form>
......
<form id=@H_502_10@"formId2">
<input name=@H_502_10@"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");

相关文章

JS原生Ajax操作(XMLHttpRequest) GET请求 POST请求 兼容性问题 利用iframe模拟ajax 实现表单提交的返回...
AJAX 每日更新前端基础,如果觉得不错,点个star吧 &#128515; https://github.com/WindrunnerMax/E...
踩坑Axios提交form表单几种格式 前后端分离的开发前后端, 前端使用的vue,后端的安全模块使用的SpringSe...
很早就听闻ajax的名声,但是却一直不知道怎么用,今天自己捣鼓了一下,竟然会用了,哈哈哈哈。 为了防止...
需要在服务器上进行哈 jquery的ajax方法: // jquery请求 $.ajax({ url: &quot;./server/slider.js...
Ajax函数封装ajax.js // Get / Post // 参数 get post // 是否异步 // 如何处理响应数据 // URL // var...