2016-06-12 87 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来做。

相关问题