簡體   English   中英

一種形式,兩種動作,兩種形式用php提交

[英]One form and two actions and two submit in php

喚醒項目,用戶可以選擇日期和日期,然后選擇其中一個無線電按鈕。 之后,選擇pdf或excel生成首選格式。 在此處輸入圖片說明

問題是形式,如果要按excel,我希望它操作generateExcel.php,如果按PDF,則要generatePdf.php。 這是我已經走了多遠但還沒有工作:

<form action='generatePdf.php' method='Post'/>

Fra Dato: <input type="text" name="fraDato" value="<?php echo date('d-m-Y'); ?>" /> 
Til Dato: <input type="text" name="tilDato" value="<?php echo date('d-m-Y'); ?>"> <br> 
<input type="radio" name="hent" value="timesmaling">Times malinger<br>
<input type="radio" name="hent" value="tredjetimesmaling">Tredje times malinger <br>
<input type="radio" name="hent" value="oppgaver">Oppgaver <br>
<input type="radio" name="hent" value="dagvakt">Dagvakt <br>
<input type="radio" name="hent" value="kveldsvakt">Kveldsvakt <br>
<input type="radio" name="hent" value="kontrollcm">Kontroll CM <br>

<input type='submit' name='pdf' value='PDF'>

<form action='generateExcel.php' method='Post'/>
<input type='submit' name='excel' value='excel'>

</form>

使用按鈕上的HTML5 formaction屬性可以覆蓋父表單的action屬性。 參見https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button

<input type='submit' name='pdf' value='PDF' formaction='generatePdf.php'>
<input type='submit' name='excel' value='excel'  formaction='generateExcel.php'>

瀏覽器支持看起來不錯: http : //www.wufoo.com/html5/attributes/13-formaction.html

但是,webeno的答案肯定會在所有瀏覽器中都有效,並且在一個文件中管理所有表單處理代碼會更容易。

我建議您將兩個腳本都放在同一文件中,並針對已單擊的按鈕進行驗證。

編輯:如果您的2個文件太大(或者您出於任何其他原因想要將它們分開),您仍然可以使用include (或require -有關差異的更多信息: php中“ include”和“ require”之間的差異)。

原始文件:

<form action='generate.php' method='Post'> <!-- removed the slash from the end here -->

Fra Dato: <input type="text" name="fraDato" value="<?php echo date('d-m-Y'); ?>" /> 
Til Dato: <input type="text" name="tilDato" value="<?php echo date('d-m-Y'); ?>"> <br> 
<input type="radio" name="hent" value="timesmaling">Times malinger<br>
<input type="radio" name="hent" value="tredjetimesmaling">Tredje times malinger <br>
<input type="radio" name="hent" value="oppgaver">Oppgaver <br>
<input type="radio" name="hent" value="dagvakt">Dagvakt <br>
<input type="radio" name="hent" value="kveldsvakt">Kveldsvakt <br>
<input type="radio" name="hent" value="kontrollcm">Kontroll CM <br>

<input type='submit' name='pdf' value='PDF'>
<input type='submit' name='excel' value='excel'>

</form>

generate.php:

if (isset($_POST['pdf'])) {
    include('generatePdf.php');
}

if (isset($_POST['excel'])) {        
    include('generateExcel.php');
}

已編輯

或者,您可以僅在該單獨的文件上使用redirect( generate.php確保此頁面上沒有其他內容):

if (isset($_POST['pdf'])) {
    header('Location: generatePdf.php');
}

if (isset($_POST['excel'])) {        
    header('Location: generateExcel.php');
}

暫無
暫無

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

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