<输入类型=“;提交”;name=“;提交”;值=“;提交”;class=“;bt提交"onclick=

<input type="submit" name="submit" value="Submit" class="btnSubmit" onclick="validatePassword()">Javascript function is not working?

本文关键字:提交 bt quot onclick class name 输入 lt 类型      更新时间:2023-09-26

我使用javascript来匹配两个文本框值,但我的函数不起作用。

这是我的代码:

<script>
    function validatePassword() {
        var newPassword = document.getElementById('newPasswordTB').value;
        var confirmPassword =document.getElementById('confirmPasswordTB').value;
        if(newPassword != confirmPassword) {
            newPassword.value="";
            confirmPassword.value="";
            document.getElementById('newPasswordTB').focus();
            document.getElementById("confirmPasswordTB").innerHTML = "not same";
        }
    }
</script>
<label>New Password</label>
<input type="password" name="newPassword" id="newPasswordTB"  class="txtField"/><span id="newPassword" class="required"></span>
<label>Confirm Password</label>
<input type="password" name="confirmPassword" id="confirmPasswordTB" class="txtField"/><span id="confirmPassword" class="required"></span>
<input type="submit" name="submit" value="Submit" class="btnSubmit" onclick="validatePassword()">

如果newpasswordconfirmpassword不相同,我想显示一条消息。我的代码哪里错了?

任何帮助都将不胜感激。

您不能使用innerHTML来更改文本框的内容,因为它不包含任何HTML,如DIVSPAN或类似内容。它被称为"void"元素。它也是一个密码,所以如果你在其中输入一个值,用户将无法看到它。你应该把你的消息放在任何其他地方。例如,在confirmPasswordTB输入旁边的SPAN元素中:

function validatePassword() {
  var newPassword = document.getElementById('newPasswordTB').value;
  var confirmPassword =document.getElementById('confirmPasswordTB').value;
  if(newPassword != confirmPassword) {
    newPassword.value="";
    confirmPassword.value="";
    document.getElementById('newPasswordTB').focus();
    document.getElementById("confirmPassword").innerHTML = "not same"; //Setting message in the SPAN tag
  }
}

你可以在这个小提琴里检查它的工作情况:http://jsfiddle.net/w8dt0dnr/1/