Javascript HTML在另一个表单中提交帖子

Javascript HTML在另一个表单中提交帖子,javascript,html,Javascript,Html,我有一个PHP模板,它将我的主页div放在一个表单中。我不喜欢,但这不是我的选择。 我需要添加一个按钮,将帖子提交到action2.php页面,而不是action1.php页面。问题是第二个按钮,它将两个表单的组合字段提交到action1.php,而不是只将表单2的信息发送到action2.php 我知道inside不是一个有效的HTML标准。如果有更好的办法,我会很高兴听到的。但在这种情况下,我不能将任何代码放在外部形式之外 名字: 姓氏: 另一种形式是: 最后的另一种形式: 使用Ajax可

我有一个PHP模板,它将我的主页div放在一个表单中。我不喜欢,但这不是我的选择。 我需要添加一个按钮,将帖子提交到action2.php页面,而不是action1.php页面。问题是第二个按钮,它将两个表单的组合字段提交到action1.php,而不是只将表单2的信息发送到action2.php

我知道inside不是一个有效的HTML标准。如果有更好的办法,我会很高兴听到的。但在这种情况下,我不能将任何代码放在外部形式之外

名字: 姓氏: 另一种形式是: 最后的另一种形式:
使用Ajax可以更好地实现您想要做的事情。以下是一个例子:

 $(#button1).onclick({ 
    $('#fname').val();
    $('#lname).val();
 })
然后通过AJAX将数据发布到

 $(#button2).onclick({ 
     $('#fname2').val();
     $('#lname2).val();
 })

不要嵌套表单,它是无效的,没有意义

在提交按钮上使用数据属性更改表单的操作

//使用数据操作数据属性获取所有输入 document.querySelectorAllinput[data action]。forEachitem=>{ item.addEventListenerclick,functionevent{ //获取表单元素 设form=this.closestform; //从数据属性设置操作 form.action=this.dataset.action; //循环顶级字段集 form.querySelectorAllfieldset.forEachfieldset=>{ //如果字段集不包含单击的按钮 IFieldSet.querySelectorinput[数据操作]!=此{ //迭代输入并禁用它们以从表单提交中删除 fieldset.querySelectorAllinput、select、textbox.forEachitem=>item.disabled=true; } }; }; }; //仅用于演示目的 document.querySelectorform.addEventListenersubmit,函数E{ e、 防止违约; console.logthis.action; 返回false; } 名字: 姓氏: 另一种形式是: 最后的另一种形式:
将一个表单嵌套到另一个表单的原因是什么?如果您想基于条件提交,那么您可以使用Javascript在onsubmit事件中应用条件。@Masood,您提出的解决方案也会遇到同样的问题。在表单提交到action2.php之前,它将提交到action1.php。不,它不会,如果您在条件语句之前阻止提交。@Masood您建议的方法是什么样子的?那么当您提交第二个表单时,您希望提交所有4个字段,而第一个表单只提交前2个字段?它仍然提交到action1.php而不是action2.php。将对象发送到onclick如何解决问题?刚刚注意到要求每个行动只提交一套。理想情况下,你使用两种不同的形式,但如果你不能做到这一点,我有一个解决方案,但我必须回到你的生活已经得到的方式!基本上,它将禁用字段集中未单击的表单元素解决了我的问题:$'button2'。单击functionevent{event.preventDefault;…解决方案是preventDefault。谢谢。请注意,如果您仍然有嵌套表单,您仍然有无效的HTML,并且仅仅因为它现在工作并不意味着它将来会工作。无效的HTML会导致不可预测的结果。