Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何比较if语句中的表单元素和字符串_Javascript_Html_Forms - Fatal编程技术网

Javascript 如何比较if语句中的表单元素和字符串

Javascript 如何比较if语句中的表单元素和字符串,javascript,html,forms,Javascript,Html,Forms,我在这方面遇到了很多麻烦,我尝试了很多不同的方法,但是我的想法都没有了 这是我的密码: var user = document.Log.User; var pass = document.Log.Pass; function Login (){ if(user.value == "Admin"){ window.open(); } } 以下是HTML端: <form name="Log"> <input class="Log" type="text" nam

我在这方面遇到了很多麻烦,我尝试了很多不同的方法,但是我的想法都没有了

这是我的密码:

var user = document.Log.User;
var pass = document.Log.Pass;

function Login (){
if(user.value == "Admin"){
window.open();
}
}
以下是HTML端:

<form name="Log">
        <input class="Log" type="text" name="User">
    <input class="Log" type="password" name="Pass">
    <input type="button" value="Login" name="But" onclick="Login()" style="width: 70px;position: relative;left: 150px;top: -25px;">
</form>

使用id选择器将变量分配放入登录功能中:

HTML:

<form name="Log">
    <input id="User" class="Log" type="text" name="User">
    <input id="Pass" class="Log" type="password" name="Pass">
    <input type="button" value="Login" name="But" onclick="Login()" style="width: 70px;position: relative;left: 150px;top: -25px;">
</form>
function Login (){
    var user = document.getElementById("User");
    var pass = document.getElementById("Pass");

    if(user.value == "Admin"){
        window.open();
    }
}

如果变量赋值是在主体之前加载的Javascript中,那么它们引用的元素还不存在,应该会出现错误。有多种方法可以解决此问题:

  • 将Javascript放在表单后面的某个地方
  • 将Javascript放入
    窗口中。onload=function(){…}
  • 分配
    Login()函数中的变量

  • 我不知道你为什么要用js做这种登录逻辑的东西,但是,这是可行的:

    function Login (){
      var user = document.querySelector('form[name=Log] [name=User]');
      var pass = document.querySelector('form[name=Log] [name=Pass]');
    
      if(user.value == "Admin"){
         window.open("yoururl.com");
      }
    }
    

    希望这有帮助。干杯

    Javascript是在身体之前还是之后?你为什么认为这会有所不同?访问表单元素的旧样式仍然有效。那么
    document.getElementByName('User')[0]
    呢?此外,您拼写的
    元素
    错误