2014-02-07 35 views
-1

我是js的新手,我有这个非常简单的代码。它应该是一个登录名,它不工作。我不需要任何关于改善它的提示,我打算在这个工作开始的时候这样做。这为什么认为它是正确的?

<!DOCTYPE html> 
<head> Sign-in </head> 
<body> 
<script type="text/javascript"> 
    var em = prompt("Enter E-mail Here:") 
     if(em = "I hid this to prevent spam"){ 
      var pa = prompt("Enter Password Here:") 
       if(pa = "jct28if5"){ 
        alert("Welcome!") 
       } 
       else{ 
        alert("Incorrect password!") 
     } 
    } 
     else { 
      alert("Invalid e-mail!") 
} 
</script> 
</body> 
</html> 

它现在正在做的是不管它是什么,它认为使用了正确的电子邮件和密码。有人可以帮忙吗?

+4

'if(pa =“jct28if5”)'将始终为真。您需要使用比较运算符,而不是赋值。 – elclanrs

+2

在条件中使用'===',而不是'='。 'if(pa ===“jct28if5”){' –

+1

* = *应该是* == *或* === * – MarshalSHI

回答

0

固定

var em = prompt("Enter E-mail Here:") 
      if(em === "I hid this to prevent spam"){ 
       var pa = prompt("Enter Password Here:") 
        if(pa === "jct28if5"){ 
         alert("Welcome!") 
        } 
        else{ 
         alert("Incorrect password!") 
      } 
     } 
      else { 
       alert("Invalid e-mail!") 
    } 

当你分配一个变量的值,可以使用单一的=。像var x = 1。 但是,如果您想检查相等性,请使用===。就像如果(X === 1)

1

,我已经修复你的代码了一下。有些事情要注意。

你不能只是放在<head>原始内容。

您的密码是在页面的原始来源,所以任何人都可以查看网页的源文件,看到了正确的密码是什么。这是一个绝对可怕的设计。密码应该传递到服务器端,在那里检查其有效性。

在类似的编程语言如Java脚本,C ==测试平等和将返回一个布尔值。 =符号为变量赋值。

<!DOCTYPE html> 
<head> 
<title>Sign-in 
</title> 
<script type="text/javascript"> 
    var em = prompt("Enter E-mail Here:") 
     if(em == "I hid this to prevent spam"){ 
      var pa = prompt("Enter Password Here:") 
       if(pa == "jct28if5"){ 
        alert("Welcome!") 
       } 
       else{ 
        alert("Incorrect password!") 
     } 
    } 
     else { 
      alert("Invalid e-mail!") 
} 
</script> 
</head> 
<body> 
</body> 
</html> 
0

只是一个加法:

==检查看重 ===检查值和类型

有人谁停用JS或者不支持它像卷曲/ wget和其他人,不会由此停止,除非你用js加载整个网站,可能是愚蠢的搜索引擎的原因可能不会索引内容。

希望这会有所帮助。

相关问题