2012-10-16 170 views
0

在一系列Web表單上,用戶需要能夠向前和向後移動。不過,我想要處理表格,而不管他們要走哪個方向。HTML提交按鈕分支

的「提交」的buttonshave名稱和「後退」和未來」的值。我該如何解讀價值? 這並不:-)

if(isset($_POST[$submit['back']])) { header('location: ../pages/create_page1.php'); } 
if(isset($_POST[$submit['next']])) { header('location: ../pages/create_page3.php'); } 
+0

什麼是'$提交[ '回']'的價值?什麼是提交按鈕的HTML? – Quentin

+0

+0

回答

1

中字段的名稱叫做submit,所以你需要檢查,如果該領域已經提交,哪些它的值是:

if (isset($_POST['submit]') && $_POST[submit] == 'back') 

但是,您並未使用提交按鈕,而是使用服務器端圖像映射,因此可能尚未提交該值(取決於瀏覽器)。

取而代之,您需要爲這些字段指定不同的名稱,然後檢查是否爲這些字段發送了座標。

<input type="image" name="submit_back" src="../images/arrows/back_50.png" width="121" height="50" border="0" alt="Back" /> 

if (isset($_POST['submit_back_x'])) 
+0

是的 - 這是有效的,你的邏輯是現貨。我正在使用一行現在像 if(isset($ _ POST ['submit_back_x'])){header('location:../pages/create_page1.php'); } \t \t if(isset($ _ POST ['submit_next_x'])){header('location:../pages/create_page3.php'); }它運作得很好 - 非常感謝。 –

1

你不能得到工作與$submit按鈕值,它應該是$_POST['submit'] 你可以試試這個腳本

<?php 
if(isset($_POST['next'])) { 
    $submit = 'Next button was clicked.'; 
    // header(...); 
} elseif(isset($_POST['back'])) { 
    $submit = 'Back button was clicked.'; 
    // header(...); 
} else { 
    $submit = ''; 
} 
?> 

<form action="" method="post"> 
    <p>Click...</p> 
    <input type="submit" name="back" value="Back"/> 
    <input type="submit" name="next" value="Next"/> 
</form> 

<br/><?=$submit;?> 

或用相同的按鈕名稱,像您的意見箭頭:。

<?php 
if(isset($_POST['submit']) && $_POST['submit'] == 'next') { 
    $submit = 'Next button was clicked.'; 
    // header(...); 
} elseif(isset($_POST['submit']) && $_POST['submit'] == 'back') { 
    $submit = 'Back button was clicked.'; 
    // header(...); 
} else { 
    $submit = ''; 
} 
?> 

<form action="" method="post"> 
    <p>Click...</p> 
    <input type="image" name="submit" src="http://cdn4.iconfinder.com/data/icons/brightmix/128/monotone_arrow_left_small.png" value="back"/> 
    <input type="image" name="submit" src="http://cdn4.iconfinder.com/data/icons/brightmix/128/monotone_arrow_right.png" value="next"/> 

</form> 

<br/><?=$submit;?> 
+0

This部分似乎使腳本掛起 - 沒有錯誤信息 - 只是掛起 - 如果(isset($ _ POST ['submit'])=='next') –

+0

這個工程,但我失去了按鈕的圖像 -

+0

您不能使用'type =」submit「'按鈕的'src'屬性。但在上面的第一條評論中,你用'type =「image」'粘貼了一段代碼,然後它就可以工作。 – enenen

1

嘗試使用jquery:

$('#some_button').click(funnction(){ 
    var $Data = $('#some-data-input').val(); 
    if($Data.length > 0){ // or some else 
     window.location.href = "../pages/create_page3.php"; 
    } else { 
     // other action 
    } 
}); 
1

試試這個javascript函數...

<script language=javascript> 
function redirect() 
{ 
if(document.value=="Next") 
    { 
      document.form.action="next.php"; 
    } 
    else if(document.value=="Back") 
    { 
      document.form.action="back.php"; 
    } 
    return true; 
} 
</script> 

<form method="post" name=form onsubmit='return redirect();'> 
    <p>Click...</p> 
    <input type="submit" name="back" value="Back"/> 
    <input type="submit" name="next" value="Next"/> 
</form> 
+0

非常感謝 - 我知道你的代碼可以工作,但我想盡可能通過PHP來完成。 –