用两个动作提交相同的表格?

时间:2019-07-02 05:30:33

标签: javascript php jquery

我有一个表单,可以通过POST提交并将数据发送到2页。

我已经尝试使用javascript代码。一种表单提交有效,而另一种提交无效

<form id="add">
    <input type="text" name="test">
    <input type="submit" onclick="return Submit();">
</form>

javascript

function SubmitForm()
{
     document.forms['add'].action='filecreate.php';
     document.forms['add'].submit();
     document.forms['add'].action='filecreate.fr.php';
     document.forms['add'].submit();
     return true;
}

第一次提交无效,但是第二次提交有效。

2 个答案:

答案 0 :(得分:2)

由于您似乎将完全相同的数据发送给两个不同的处理程序,因此您可以掷硬币-说您只提交一种表单,然后在filecreate.php中对它们进行处理。

发送表单时,不能在同一HTTP请求中发送两个单独的表单-因此,您既可以通过异步方法来完成它们,也可以在提交 one 之后在后台处理它们。形成。

由于您尚未显示任何PHP代码,因此我做出一些假设并编写了一些伪代码,但这足以使您入门。

因此,首先,为表单设置一个静态的动作属性。

<form id="add" action="filecreate.php">
   <input type="text" name="test">
   <input type="submit">
</form>

如果通过POST发送,则还需要指定方法,

<form id="add" action="filecreate.php" method="POST">

然后,在PHP中,如果将两个文件都包含在内,则可以同时执行这两个文件。意思是,在您的filecreate.php中,您包括了filecreate.fr.php。完成后,该文件的内容也会被执行。

<?php 
// Once you require the file, it will be executed in place
require "filecreate.fr.php";

// .. handle the rest of your normal execution here.

也就是说,如果您使用不同的数据多次执行非常相似的操作,则可能要为其创建函数-遵循DRY原理(“不要重复自己”),创建一个处理结构和处理的函数,然后通过该函数分别发送数据。

答案 1 :(得分:-1)

尝试一下:

<form id="add">
    <input type="text" name="test">
    <input type="button" onclick="return SubmitForm();">
</form>

function SubmitForm()
{
 if(document.forms['add'].onsubmit())
 {
     document.forms['add'].action='filecreate.php';
     document.forms['add'].submit();
     document.forms['add'].action='filecreate.fr.php';
     document.forms['add'].submit();
 }
 return true;
}