php-将两个表单同时发送到两个不同的页面

php-将两个表单同时发送到两个不同的页面,php,javascript,jquery,Php,Javascript,Jquery,我同时发送两份表格,但我的脚本中有一个错误。我研究了错误-未捕获的TypeError:object#的属性“submit”不是函数。他们告诉我添加一个提交按钮,但是已经有一个提交按钮了。这是我的表格 <form name="form1" id="form1" method="post" action="page1.php"> <input type="hidden" name="pt" id="pt" value="<?=$b64string?>" styl

我同时发送两份表格,但我的脚本中有一个错误。我研究了错误-未捕获的TypeError:object#的属性“submit”不是函数。他们告诉我添加一个提交按钮,但是已经有一个提交按钮了。这是我的表格

<form name="form1" id="form1" method="post" action="page1.php">
    <input type="hidden" name="pt" id="pt" value="<?=$b64string?>" style="width:800px; padding: 10px;">
    <input type="submit" value="submit" name="submit"/>
</form>
<form name="form2" id="form2" method="post" action="page2.php">
    <input type="hidden" name="signature" value="<?=$_sign?>"/>

    <input type="submit" value="submit" name="submit">
</form>
<span onclick="submitBoth();" style="cursor:pointer;"><img src="image1.png"></span>

您使用“form2”作为提交URL,对吗

jQuery.post(“form2”,jQuery(“form2”).serialize()…等


jqery.post的第一个参数需要是一个url。

那么为什么不这样使用smth呢

jQuery.post("form2.php", jQuery("#form2").serialize(), function(data){
   // you sure, that response will be a string, right?
    if(data.trim()=='valid'){
        jQuery.post("form1.php", jQuery("#form1").serialize(), function(data){
     // todo: postprocess form1.php responce
    });
    }
});

很抱歉之前的评论标记

我使用了N.B的思想,但我通过触发提交按钮jQuery('#submit1')对其进行了更改。触发器('click');谢谢!

您可以使用它

function submitBoth(){
    $.post('form1.php',$('form[name=form1]').serializeArray(),function(){
          $('form[name=form2]').submit();
    });
}

表单元素必须在表单中才能被视为表单的一部分。我从未尝试过这样做,但尝试在每个表单中放置一个隐藏的提交。使用
$(“#form1”).trigger('submit');
而不是
document.form1.submit()
;hi@RickCalder它不起作用我尝试添加了
form2提交,但表单没有。我没有收到任何错误。hi@N.B.尝试使用你的表单1没有提交。我也没有收到任何错误。我编辑了我的标题,它应该发送到两页。很抱歉,这是一个打字错误,我在将它放在这里之前编辑了它。应该是form2.phpso为什么不要像这样使用smth?
jQuery.post(“form2.php”,jQuery(“form2”).serialize(),函数(data){//你确定,响应将是字符串,对吗?如果(data.trim()='valid'){jQuery.post(“form1.php”,jQuery(“form1”).serialize(),函数(data){//todo:postprocess form1.php response}})
我之前尝试过,但其他服务器有限制,我认为他们不接受来自其他站点的ajax帖子。我正在将表单传递到不同的页面和不同的主机。但也感谢您的帮助!如果跨域请求,下面的帖子可能会很有用:您应该遵循不同的模式。您的本地JS将执行以下操作:n将ajax post发送到本地URL,该URL将使用json数据接受post方法。此时,服务器代码将使用正确的数据向远程服务器发送HTTP post,获取响应,并将其发送回调用js。请参阅
function submitBoth(){
    $.post('form1.php',$('form[name=form1]').serializeArray(),function(){
          $('form[name=form2]').submit();
    });
}