html多个重定向,具体取决于输入

时间:2018-08-17 18:32:15

标签: javascript

我想编写一个使用文本框弹出窗口将您重定向到您的网站的代码。 示例:

user1 将键入 user1 ,并将重定向到 user_franklin.html

user2 将键入 user2 ,并将重定向到 user_Jennifer.html

<!DOCTYPE html>

<script>
    var pass;
pass = prompt("Skriv in dit H nummer (h501234)");
if (pass == "h504340") {
    document.location.href = "user_mathias.html";
if (pass == "h504355") {
    document.location.href = "user_sondre.html";
if (pass == "h000002") {
    document.location.href = "user_love.html";
if (pass == "h000001") {
    document.location.href = "user_haakon.html";
} else {
    document.write("Din H identitet er ikke i systemet!");
}</script>

代码无法正常工作。

2 个答案:

答案 0 :(得分:0)

首先,如@Quentin在评论中所说,您必须使用"'来分隔string

第二,您的if/if else/else语句无法正常运行,因为它们中的大多数没有以}结尾

除第一个ifelse外,所有其他三个应该为else if。否则,如果较早的条件匹配,则它将不匹配最后的条件,因此默认为else

此代码可修复您的语法错误,并且可以正常工作。

var pass = prompt("Skriv in dit H nummer (h501234)");
    if (pass == "h504340") {
        document.location.href = "user_mathias.html";
    } else if (pass == "h504355") {
        document.location.href = "user_sondre.html";
    }else if (pass == "h000002") {
        document.location.href = "user_love.html";
    } else if (pass == "h000001") {
        document.location.href = "user_haakon.html";
    } else {
        document.write("Din H identitet er ikke i systemet!");
    }

答案 1 :(得分:0)

首先,让我提出标准的警告,即在客户端JS中进行任何类型的用户身份验证是一个糟糕的主意。

就像自己入侵波兰一样可怕,只用少量的湿草武装。

用户只需查看您的JS即可了解所有“秘密”。

但是我假设这只是一个宠物项目,没有真正的安全隐患。

第二,这可以大大简化。

document.write()

总是想象一下,如果发现自己编写重复代码,还有更好的方法。

此方法将用户输入映射到重定向位置。我们在地图中查找他们输入的内容,如果存在对应的键,则转到其相关页面。

请注意,我还添加了一个闭包,以免污染您的全局范围。

最后,{{1}}虽然偶尔会合法使用,但它们已经过时,如今已很少使用。如果要输出消息,请改用DOM脚本方法。