innerHTML无法正常显示

时间:2013-07-20 07:55:27

标签: javascript

我遇到的问题是,如果用户将userdata输入留空,我希望它定位该输入并显示文本,通知他们这是必填字段。

我正在使用innerHTML将消息发送到div或直接发送到输入字段,但不显示任何内容。我还尝试使用<p><span>,但这也无效。任何帮助表示赞赏。

<!doctype html>
<html>
  <head>
  </head>
  <body>
    <form>
      <input type="text" id="user1">
      <div id="error"></div>
      <button onClick="test()">Work</button>
    </form>
    <script type="text/javascript">
      function test(){
        var userdata = document.getElementById("user1").value;
        if(userdata == ""){
          document.getElementById("error").innerHTML="Please fill in Blanks";
        }
      }
    </script>
  </body>
</html>

2 个答案:

答案 0 :(得分:2)

只需以这种方式更改按钮行:

<button onClick="test();return false;">Work</button>

InnerHTML工作正常,但按钮的默认行为是发出'POST'请求,使页面刷新删除innerHtml更改。 return false语句禁用此默认行为,使您的代码按预期工作。

经过测试和运作。 希望它有所帮助。

答案 1 :(得分:2)

以下是JSBIN

<强> HTML

<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<body>
  <form>
      <input type="text" id="user1">
      <div id="error"></div>
      <button onClick="test();return false;">Work</button>
    </form>
</body>
</html>

JavaScript 中添加其他条件

if(userdata === ""){
     document.getElementById("error").innerHTML="Please fill in Blanks";
} else{
     document.getElementById("error").innerHTML="";
}