首页 > 解决方案 > 如果语句在 JavaScript - HTML 中不起作用

问题描述

我对 HTML 很陌生,我正在尝试制作一个简单的登录系统。我在 JavaScript 中使用 Sublime Text 3 和“If”语句不起作用。当我在脚本中输入“if”时,它变成紫色,而不是 JavaScript 蓝色。我是坏人还是 Sublime 根本不工作?

代码:

<html>
<body>
Kullanıcı adı: <input type="text" id="kadi">
<br>
Şifre:<input type="text" id="sifre">
<br>
<button type="button" onclick="fun()">Giriş Yap</button>
<p id="p"></p>
<script type="text/javascript">
    function fun(){
        var gkadi = document.getElementById().value;
        var gsif = document.getElementById().value;
        var dkadi = "ali";
        var dsif = "aa123"
        if(gkadi==dkadi){
            if(gsif==dsif){
                document.getElementById("p").innerHTML = "Giriş başarılı!";
            } else {
                document.getElementById("p").innerHTML = "Şifre yanlış";
            }
        } else {
            document.getElementById("p").innerHTML = "Kullanıcı adı yanlış.";
        }
    }
</script>
</body>
</html>

标签: javascripthtmlsublimetext3

解决方案


语法着色可能会产生误导。这不是你的 if 语句有问题。它getElementById()需要一个参数,该参数应该是您要获取的元素的 id。通过该更改,您的代码可以正常工作。

function fun() {
  var gkadi = document.getElementById("kadi").value;
  var gsif = document.getElementById("sifre").value;
  var dkadi = "ali";
  var dsif = "aa123"
  if (gkadi == dkadi) {
    if (gsif == dsif) {
      document.getElementById("p").innerHTML = "Giriş başarılı!";
    } else {
      document.getElementById("p").innerHTML = "Şifre yanlış";
    }
  } else {
    document.getElementById("p").innerHTML = "Kullanıcı adı yanlış.";
  }
}
Kullanıcı adı: <input type="text" id="kadi">
<br> Şifre:
<input type="text" id="sifre">
<br>
<button type="button" onclick="fun()">Giriş Yap</button>
<p id="p"></p>


推荐阅读