JS 不从输入中获取值

JS doesn't get value from input

问题是我无法获取密码字段的值 - 使用 pso1 returns 空警报。
我在此代码中没有看到任何错误,因此我正在寻求帮助。

<form class='container' onsubmit="return checkit()">
    <h1> Javascript </h1>
    Login <input type='text' id='log'><br>
    Password <input type='password' id='pso1'><br>
    Confirm passwordd <input type='password' id='pso2'><br>
    <button>Register</button>
</form>

<script type="text/javascript">
    var pso1=document.getElementById('pso1').value ; 
    var pso2=document.getElementById('pso2').value ;    
    alert(pso1);
    function checkit(){
        if(pso1=!pso2){ 
            return false;
            alert('Passwords are not the same.');
        }
        else{
            return true; 
            alert('work');
        }
    }

</script>   

</body>

在您的代码中,您在页面加载后立即设置 pso1ps02 的值,然后再更改它们的值。您需要更新这些值,将它们声明为函数内的局部变量:

function checkit(){
    var pso1=document.getElementById('pso1').value; 
    var pso2=document.getElementById('pso2').value;   
    if(pso1=!pso2){ 
        return false;
        alert('Passwords are not the same.');
    }
    else{
        return true; alert('work');
    }
}

您只声明了函数checkIt。您需要调用该函数来实际检查它。