簡體   English   中英

用兩個動作提交相同的表格?

[英]Submit same form with two action?

我有一個表單,可以通過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;
}

第一個提交無效,但是第二個提交有效。

由於您似乎將完全相同的數據發送給兩個不同的處理程序,因此您可以擲硬幣-說您只提交一種表單,然后在filecreate.php中對它們進行filecreate.php

在發送表單時,您無法在同一HTTP請求中發送兩個單獨的表單-因此,您既可以通過異步方法來完成它們,也可以在提交一個表單后在后台處理它們。

由於您尚未顯示任何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.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原理(“不要重復自己”),您可以創建一個函數處理結構和處理,然后通過該函數分別發送數據。

嘗試這個 :

<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;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM