我有一个登录表单和一个包含3个复选框和最终提交按钮的部分。我想编写代码,以便在选中复选框并单击提交按钮时,将根据选中的复选框将用户重定向到另一个页面。
我有:
<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 :(得分:1)
试试这个
<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')">
答案 1 :(得分: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做这件事。