繁体   English   中英

如何使用JavaScript在特定HTML div中显示消息?

[英]How do I display message in a particular HTML div using JavaScript?

这是我到目前为止所尝试的内容。

 <head> <script> function myFunction() { var a = document.forms["login"]["uname"].value; var b = document.forms["login"]["pwd"].value; if (a == "" || b == "") { error = "All fields must be entered."; document.getElementById("errorid").innerHTML = error; } } </script> </head> <body> <form name="login" action=""> <b>Enter username:</b> <input type="text" name="uname" /> <br /> <b>Enter password:</b> <input type="password" name="pwd" /> <br /> <p id="errorid"></p> <input onclick="myFunction()" type="submit" /> </form> </body> </html> 

但它没有在ID = errorid的 p标签中显示错误消息我是否写错了代码? 如果是,那么如何解决这个问题呢?

您显示消息的代码是正确的,这里的问题是单击按钮时提交表单。 您必须在未满足条件时阻止默认操作。

我建议你使用表单的submit事件,当返回false时,它将阻止默认操作(表单被提交)。

 <head> <script> function myFunction() { var a = document.forms["login"]["uname"].value; var b = document.forms["login"]["pwd"].value; if (a == "" || b == "") { error = "All fields must be entered."; document.getElementById("errorid").innerHTML = error; return false; } return true; } </script> </head> <body> <form name="login" action="" onsubmit="return myFunction()"> <b>Enter username:</b> <input type="text" name="uname" /> <br /> <b>Enter password:</b> <input type="password" name="pwd" /> <br /> <p id="errorid"></p> <input type="submit" /> </form> </body> </html> 

如果用户必须输入所需的属性,您可以将输入所需的属性添加到输入中,如下所示: <input type='text' required>这样您就不必担心用户没有填写领域。 HTML5会自动处理。 试试吧

请进行以下更改:

在提交按钮上,替换以下代码:

<input onclick="myFunction()" type="submit" />

以下内容

<input onclick="return myFunction()" type="submit" />

那它应该工作正常

您的代码立即显示错误消息,然后由于提交而刷新。 以这种方式使用required属性,用户将无法在不填写所有必填字段的情况下提交表单

试试这个,更新你的代码

<html>
<head>
  <script>
    function myFunction() {
      var a = document.forms["login"]["uname"].value;
      var b = document.forms["login"]["pwd"].value;
      if (a == "" || b == "") {
        error = "All fields must be entered.";
        document.getElementById("errorid").innerHTML = error;
        return false;
      }
     return true; 
    }
  </script>
</head>

<body>
  <form name="login" action="">
     <p id="errorid"></p>
    <b>Enter username:</b>
    <input type="text" name="uname" />
    <br />
    <b>Enter password:</b>
    <input type="password" name="pwd" />
    <br />

    <input onclick="return myFunction()" type="submit" />
  </form>
</body>

</html>

将输入type="submit"更改为输入type="button" 像这样

<input onclick="myFunction()" type="button" value="Submit" />

提交按钮基本上会发布页面并导致页面重新加载(因为您没有在<form>标记中指定action =“”值)。 您的错误消息确实显示在<p>但它会在页面刷新后消失。

如果您要提交详细信息,可以通过以下几种方式进行操作。 但是,你不得不将其作为一个单独的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM