2012-01-08 66 views
2

在的index.php我有一個表格:如何處理表單中多個提交按鈕的不同目標?

<form name="UserLocation" action="propForSale.php" method="GET"> 

一旦在窗體上的文本框的位置的名稱的用戶類型,他們點擊「出售」按鈕提交:

<input type="submit" value="For Sale" /> 

這會將用戶帶到propForSale.php頁面,如action屬性中指定的那樣。 但我現在有窗體上的另一個按鈕的index.php:

<input type="submit" value="To Rent" /> 

我現在希望用戶被定向到「propToRent.php」,當他們點擊「租」按鈕。

目前,當用戶點擊「To Rent」按鈕時,需要用戶輸入「propForSale.php」。這可能是因爲它在表單的action屬性中指定要轉到該特定頁面。但是,我如何獲得它到「propToRent.php」?

在此先感謝

回答

1

你可以有兩個按鈕並使用Javascript來改變表單的行爲並將其提交到不同的頁面,但我認爲下拉菜單是更簡單的解決方案。無論如何,要使用兩個按鈕,你需要這樣的東西:

<form id="userLocation" action="" method="get"> 
<p> 
    <label for="field1">Field 1:</label> 
    <input type="text" id="field1" name="field1" /> 
</p> 
<p> 
    <label for="field2">Field 2:</label> 
    <input type="text" id="field2" name="field2" /> 
</p>  
<p> 
    <input type="button" value="For Sale" onclick="submitForm('forSale.php')" /> 
    <input type="button" value="To Rent" onclick="submitForm('toRent.php')" /> 
</p> 
</form> 
<script type="text/javascript"> 
function submitForm(action) { 
    form = document.getElementById('userLocation'); 

    form.action = action; 
    form.submit(); 
} 
</script> 
4

將名稱添加到提交按鈕。然後您可以檢查$_POST的值並重定向用戶。

+0

謝謝。你能給我舉一個這樣的結構的例子嗎? – user1135192 2012-01-08 15:25:34

+0

HTML:'';但PHP代碼很困難,因爲使用'header('Location:...')'的簡單重定向不會重定向$ _POST'。所以你必須結合'propToRent.php'和'propForSale.php'。在這個文件中,你可以檢查'$ _POST ['submit']'是爲了'出租'還是'出售'。 – schokocappucino 2012-01-08 22:51:41

+0

請注意,從Safari 8(2015年1月)開始,Safari/Webkit無法正常工作。 – auco 2015-01-16 19:17:41

1

用帶2個選項的下拉菜單進行操作。對出租或出售,然後使用當前頁的index.php,並檢查是否

(isset $ POST(「位置」)){ 您 代碼提交 }

相關問題