innerHTML消息不起作用

时间:2014-11-15 02:28:22

标签: javascript forms validation

以寄存器形式我有php验证密码并将消息“good”发送回div“password_feedback”。在if语句中,如果password_feedback ==“good”,则在“check”div中显示“password good”(未在代码片段中显示)。

我用“用户名”和“重新输入密码”做了完全相同的事情,它们工作正常,我将它们一起添加到一个if语句中。但是密码和电子邮件不起作用,尽管我和他们完全一样。是否有一些我不知道导致问题的东西。

<script type='text/javascript'>

  function check_info(){
    var password_good = document.getElementById('password_feedback').innerHTML;
	
    if(password_good == "good" ){
      document.getElementById("check").innerHTML = "password good";
    } else{
      document.getElementById("check").innerHTML = "bad job ";
    }	
  }

</script>

<input name="password" type="password" id="password_input" value="">
<div id="password_feedback"> </div>

1 个答案:

答案 0 :(得分:1)

问题:

  • 您没有将功能绑定到密码字段的更改事件
  • 您正在使用innerHTML而非value
  • 检查值
  • 您在document.getElementById()
  • 中使用了错误的ID

你修改了代码:

&#13;
&#13;
var password_input = document.getElementById('password_input');

password_input.onchange = password_input.onkeyup = function() {

  var password_good = (password_input.value === "good");

  document.getElementById("check").innerHTML = password_good ? 'Good' : 'Bad';

}
&#13;
<input name="password" type="password" id="password_input">

<div id="check"></div>
&#13;
&#13;
&#13;