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

提交两份有一个按钮的表格

提交两份有一个按钮的表格

牛魔王的故事 2019-06-26 13:47:56
提交两份有一个按钮的表格我有HTML两种表单,一种是在使用PHP输入数据库时提交数据,另一种是将用户引导到PayPal支付页面,我的问题是用户必须提交这两种表单,当然,我不希望它们这样做。是否对两个表单使用一个提交按钮?(欢迎JavaScript)
查看完整描述

3 回答

?
交互式爱情

TA贡献1712条经验 获得超3个赞

您应该能够使用JavaScript完成此任务:

<input type="button" value="Click Me!" onclick="submitForms()" />

如果您的表单具有ID:

submitForms = function(){
    document.getElementById("form1").submit();
    document.getElementById("form2").submit();}

如果表单没有ID但有名称:

submitForms = function(){
    document.forms["form1"].submit();
    document.forms["form2"].submit();}


查看完整回答
反对 回复 2019-06-26
?
回首忆惘然

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

表单提交导致页面导航到action表格的。因此,您不能以传统的方式提交这两种表单。如果您试图通过调用JavaScript来做到这一点form.submit()在每个表单上,除了最后一次提交之外,每个请求都将被中止。因此,您需要通过JavaScript异步提交第一个表单:

var f = document.forms.updateDB;var postData = [];for (var i = 0; i < f.elements.length; i++) {
    postData.push(f.elements[i].name + "=" + f.elements[i].value);}var xhr = new XMLHttpRequest();xhr.open("POST", "mypage.php", true);xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");xhr.send(postData.join("&"));document.forms.payPal.submit();


查看完整回答
反对 回复 2019-06-26
?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

在Chrome和IE9(我猜所有其他浏览器也是如此)中,只有后者会生成一个套接字连接,第一个将被丢弃。(浏览器检测到这一点,因为这两个请求都是在上面代码中的一个JavaScript“timeslice”内发送的,并且丢弃了除最后一个请求之外的所有请求。)

如果您让一些事件回调执行第二次提交(但在收到答复之前),则第一个请求的套接字将被取消。这是一定没有什么值得推荐的,因为在这种情况下,服务器很可能已经处理了您的第一个请求,但是您永远不会确定。

我建议您使用/生成一个可以处理服务器端的请求。


查看完整回答
反对 回复 2019-06-26
  • 3 回答
  • 0 关注
  • 537 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信