2013-11-25 95 views
1

我有兩種形式,我想兩個提交一個提交按鈕。對於這個特定的應用程序,我不能將它們合併成一種形式。我以前看過這篇文章,但還沒有找到直截了當的答案。如何適當修改我的html代碼或php代碼以使其正常工作?謝謝!兩個單獨的表格一個提交按鈕

基本上,這裏就是我試圖結合:

<form method="POST" action="mailer.php" id='form1'> 
    <input type="checkbox" name="check[]" value="blue_color">Blue<br> 
    <input type="submit" value="Submit" name="submit"> 
</form> 

<form method="POST" action="mailer.php" id='form2'> 
    <input type="checkbox" name="check[]" value="red_color">Red<br> 
    <input type="submit" value="Submit" name="submit"> 
</form> 

這裏的mailer.php:

<?php 
if(isset($_POST['submit'])) { 

    $to = "[email protected]"; 
    $subject = "Form Example"; 
    $name_field = $_POST['name']; 
    $email_field = $_POST['email']; 
    $message = $_POST['message']; 
    $option = $_POST['radio']; 
    $dropdown = $_POST['drop_down']; 

    foreach($_POST['check'] as $value) { 
     $check_msg .= "Checked: $value\n"; 
    } 

    $body = "From: $name_field\n E-Mail: $email_field\n $check_msg Option: $option\n Drop-Down: $dropdown\n Message:\n $message\n"; 

    echo "Data has been submitted to $to!"; 
    mail($to, $subject, $body); 

} else { 
    echo "blarg!"; 
} 
?> 
+1

使用JavaScript提交它們兩個。 –

+0

提交1後,頁面將重新加載。我懷疑有一個微不足道的方法來完成這一點。 –

+6

'對於這個特定的應用程序,我不能將它們合併成一種形式 - 爲什麼不呢?您希望回發所有數據,因此好像應用程序設計將所有數據集中在一個表單中。 –

回答

2

那麼是什麼讓你不把<form>...</form>放在手風琴之外呢?通常,手風琴的所有部分都是同一個HTML頁面的一部分,儘管用戶可能會這麼想。這些都是煙霧,鏡子和動態可視性。

跨越多個列表項的表單沒有任何問題。所以會有很多控制,沒關係。如果你想單獨提交和/或到不同的目的地,你只想將控件拆分成不同的形式 - 但是你不需要。表單不是一個可視化元素 - 它只是將輸入控件分組在一起的一種方式。