2016-06-12 54 views
1

我有一個登錄表單和一個包含3個複選框和最終提交按鈕的部分。我想編寫代碼,當選中複選框並單擊提交按鈕時,用戶將被重定向到另一個頁面,具體取決於選中的複選框。選中複選框並點擊重定向到PHP中的另一頁

我:

<input type="checkbox" name="gender" value="male"> 
<input type="checkbox" name="gender" value="female"> 

我知道,你可以使用

if (isset($_POST['male'])) { 
    // Checkbox male is selected 
} else { 
    // Do something else 
} 

要看到,如果複選框被選中,並

<input type="button" value="goElsewhere" class="GE" id="GELSEWHERE" 
    onClick="Javascript:window.location.href = 'http://www.google.com';" /> 

對於一個頁面重定向當按鈕被點擊。

但我不知道如何結合這些。我會怎麼做呢?

編輯:只有在最終提交按鈕被點擊後,頁面才應該重定向。複選框應該只能確定用戶指向哪個頁面。選中複選框不應該重定向頁面。

回答

0

試試這個

<input type="checkbox" name="gender" value="male" id="male" > 
<input type="checkbox" name="gender" value="female" id="female" > 

<input type="submit" onClick="redirect()"> 

使用客戶端片面JS(更實用)

function redirect() 
{ 
    if(document.getElementById("male").checked == true) 
     window.location.href = 'http://www.google.com'; 
    else if(document.getElementById("female").checked == true) 
     window.location.href = 'http://www.yahoo.com';   
} 

它可能更實際使用單選按鈕,因爲只有一個選項可以選擇不復選框。然後你使用switch語句。

<input type="radio" name="gender" value="Male"> 
<input type="radio" name="female" value="Female"> 

獲得選定值與jbabey對此question的回答類似。

另一種方法是簡單地將URL中的函數

function redirect(url) 
{ 
    window.location.href = url; 
} 

那麼你將有

<input type="checkbox" name="gender" value="female" id="female" onClick="redirect('www.google.com')"> 
+0

對不起,我剛剛開始學習PHP,所以我有點困惑。我有一個單獨的PHP文件,其中包含HTML部分,標題中的CSS樣式以及下面的所有PHP命令。如果我使用javascript,我可以輸入重定向()函數作爲我的PHP文件之間?或者我必須製作一個單獨的JS文件並以某種方式在我的PHP文件中引用它? – jvnna

+0

我也希望它可以讓用戶在點擊按鈕時重定向,而不是在單擊某個單選按鈕時。我不確定你的代碼是否 – jvnna

+0

回顯「」;將會這樣做,如果insisde 。如果在普通HTML裏面直接輸入。 有一個單獨的文件中的JS是健康的編程,但不是這個特定的東西 –

0

如果你想用PHP重定向,這樣做的方法,以便如下。

header("Location: http://url.com"); 

這樣:

if (isset($_POST['male'])) { 
    header("Location: http://male-website.com"); 
    die(); // Stop from doing anything else 
} else { 
    header("Location: http://something-else.com"); 
    die(); // Stop from doing anything else 
} 

模具被添加爲安全起見,該忽視頭部的請求任何爬蟲等(停止其他任何情況的發生。)

但我正如穆薩所說的那樣,用JS來做。

相關問題