为了账号安全,请及时绑定邮箱和手机立即绑定

js处理一个网页两个表单提交到两个不同的action

js处理一个网页两个表单提交到两个不同的action

饮歌长啸 2019-03-13 18:14:49
我需要处理一个页面中的两个表单,这两个表单填好之后,用户点击提交,就能够一起提交,但是两个表单的数据分别存在两个数据库表中,就需要两个页面同时提交到不同的action中进行处理。我在提交按钮的onclick事件中是这样写的: '''javascript form1.submit(); form2.submit(); ''' 在实际使用的时候,大约有十分之一的概率两个表单只能提交一个,其他情况下正常,但是提交的顺序并不固定,我怎样才能确保两个表单都能百分之百提交呢?
查看完整描述

5 回答

?
长风秋雁

TA贡献1757条经验 获得超7个赞

form 的 submit 事件触发后,会使网页发起新的 GET或POST,显性的表现就是“网页会刷新”。

所有有一定概率,一个 form 触发后,第二天 form submit 还没来得起发起,网页已经刷新掉了。

这种情况,建议你使用 ajax 来做。或者全部放到一个 form 里,然后后端来进行数据的分离后再进行存储等操作


查看完整回答
反对 回复 2019-04-15
?
繁星淼淼

TA贡献1775条经验 获得超11个赞

不考虑直接用$.post()或者$.ajax()么?


查看完整回答
反对 回复 2019-04-15
?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

简单,三步搞定:


第一步. 在页面里面加入2个隐藏的iframe, 如下:

<iframe name="form_target_1" style="display:none;"></iframe>  

<iframe name="form_target_2" style="display:none;"></iframe>

第二步. 表单设置target属性:

<form name="form_1" target="form_target_1">...<form>  

<form name="form_2" target="form_target_2">...</form>

第三步. 按钮提交事件:

<button onclick="form_1.submit(); form_2.submit();">提交</button>


查看完整回答
反对 回复 2019-04-15
?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

建议放到一个form里。

如果使用框架,在后端直接将model分离即可,如果不使用,建议调用同级私有函数分别操作。


查看完整回答
反对 回复 2019-04-15
?
潇湘沐

TA贡献1816条经验 获得超6个赞

两个表单的元素字段名可以考虑用数组的形式:


例如 form1 提交的数据保存到user表的,表单元素的name属性可设置成user[username],user[email]


form2 提交的数据要保存到product表的,表单元素的name属性可设置成product[id],product[name],product[price]


后台处理的时候:


$user_posts = $input->post('user'); //取user数据

$product_posts = $input->post('product'); //取product数据

这样两部分数据可以一次性提交,然后分开处理


PS:个人建议,并非最佳解决方法


查看完整回答
反对 回复 2019-04-15
  • 5 回答
  • 0 关注
  • 1230 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号