使用表单值,如何加载与提交的值对应的不同页面?

时间:2014-03-04 20:48:35

标签: javascript html

提交表单时,会运行一个javascript函数。功能如下:

function userpass(form) 
{
    if (form.id.value == "username") { 
        if (form.pass.value == "password") {              
            location = "nextpage1.php";
        }
    } 
    else {  
        alert("Incorrect Username/Password Combination");
    }
}

我希望能够使用多个“登录”信息来加载不同的页面,具体取决于输入的用户名/密码组合。因此,如果有人输入“username2”和相关密码,则会加载“nextpage2.php”,例如。

我认为这显然是错误的,但我很难绕过javascript。以下是我尝试过的内容:

function userpass(form) 
{
    if (form.id.value == "username") { 
        if (form.pass.value == password") {              
            location = "nextpage1.php";
        } 
    }
    if (form.id.value == "username2") { 
        if (form.pass.value == password2") {              
            location = "nextpage2.php";
        } 
    } 
    else {
        alert("Incorrect Username/Password Combination");
    }
}

如果有人能指出我正确的方向,我会很高兴。我仍然处于关于这个主题的一些教程的中间,并知道我需要学习更多,所以这种反馈并不是必需的。

如果您只是提供一个如何解决这个问题的解决方案,我会很感激地解释它为什么会起作用,而不仅仅是展示,这就是它的完成方式。

1 个答案:

答案 0 :(得分:0)

如前所述,这不是一种安全的登录方式,但是嘿嘿,不能将其作为一般的javascript问题回答!

您是否考虑过使用switch语句?显然,这对许多登录选项都不是非常有用,但对于< 10它可以用吗?

类似的东西:

<script>
function myFunction(form)
{
var user = form.id.value
switch (user)
{

case "username1":
  if (form.pass.value==password1") {  
    location="nextpage1.php";
    }
  break;
case "username2":
  if (form.pass.value==password2") {  
    location="nextpage2.php";
    }
  break;

default:
  //code to be executed if no username matches
  break;

}
</script>

根据输入的用户名,将运行case的相应代码,如果不满足任何一个案例,default将会运行。