使用ajax点击按钮提交多个表单

今天做的一个页面要求点击新增按钮后table中插入一行新数据.可以新增多次.最后点击页面保存按钮,提交表单,保存数据

实现方式:ajax提交多个表单.

问题:为什么使用普通的提交按钮,通过js控制会不好使?

开始,我为了省事儿,直接获取这些新增的表单id,使用$("XXX").submit(),提交表单,发现每次有第一个表单被提交,后面就没反应了.原因是,当我们提交方法执行后,页面会消失,等待跳转到服务器返回的页面,因此,后面的表单提交都失败了.也就是说,同步提交是不能够一次性提交多个表单,因此只能异步提交(Ajax)

代码:

$("#save").click(function(){
			//获取新增的所有表单的表单id
			//获取form表单的id,使用ajax提交表单
			$("form").each(function(index,item){
				var FormId = $(this).attr("id");
				//发送ajax提交表单
				$.post("${ctx}/rol/material/save",$("#"+FormId).serialize(),function(data){},"json")
			 });
			})

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用 JavaScript 来实现多个表单共用一个提交的功能。具体实现步骤如下: 1. 给每个表单添加一个 class 或 ID,用于标识不同的表单。 2. 给提交按钮添加一个点击事件,获取所有表单数据,并进行提交。 3. 在点击事件中,使用 `document.querySelectorAll()` 方法获取所有表单元素,然后遍历每个表单,获取表单数据,并将数据拼接成一个对象。 4. 最后将获取到的数据对象使用 Ajax表单提交方式进行提交。 下面是一个简单的示例代码,供参考: HTML 代码: ```html <form class="form1"> <input type="text" name="username" /> <input type="password" name="password" /> </form> <form class="form2"> <input type="text" name="email" /> <input type="text" name="phone" /> </form> <button id="submitBtn">提交</button> ``` JavaScript 代码: ```js const submitBtn = document.querySelector('#submitBtn'); submitBtn.addEventListener('click', () => { const forms = document.querySelectorAll('form'); const data = {}; forms.forEach((form, index) => { const formData = new FormData(form); for (let [key, value] of formData.entries()) { data[`form${index + 1}_${key}`] = value; } }); // 使用 Ajax表单提交方式进行提交 // ... }); ``` 在上面的代码中,我们将表单数据拼接成了一个对象 `data`,并通过 `data` 对象来传递数据。在实际开发中,可以根据需求来选择使用 Ajax表单提交方式进行提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值