JavaScript 如何在没有警告框的情况下显示错误消息

JavaScript 如何在没有警告框的情况下显示错误消息

在本文中,我们将学习如何使用JavaScript在页面上内联显示错误消息,而不使用警告框,通过使用HTML DOM元素的innerHTML和textContent属性来实现。

虽然警告框对于向用户显示错误消息非常有用,但它们可能会中断用户体验,并且很不雅观。一个更优雅的解决方案是在页面上内联显示错误消息。

让我们通过以下两种方法了解如何实现上述效果。

方法一

在这种方法中,我们将使用innerHTML DOM元素属性在表单中内联显示错误消息。

示例

让我们通过一个示例来理解上述方法。

文件名:index.html

<html lang="en">
<head>
   <title>How to display error without alert box using JavaScript?</title>
   <style>
      span {
         color: red;
      }
   </style>
</head>
<body>
   <h3>How to display error without alert box using JavaScript?</h3>
   <form name="myForm" onsubmit="return validateForm()">
      <label for="name">Name:</label>
      <input type="text" id="name" name="name"><br>
      <span id="nameError"></span><br>
      <input type="submit" value="Submit">
   </form>

   <script>
      function validateForm() {
         var name = document.forms["myForm"]["name"].value;
         if (name == "") {
            document.getElementById("nameError").innerHTML = "Please enter your name";
            return false;
         }
      }
   </script>
</body>
</html>

方法二

在这个方法中,我们将使用3种不同的方法来显示错误消息,涉及到使用内联错误消息、CSS样式、classList和setAttributes方法。

示例

让我们通过一个示例来理解上述方法。

文件名:index.html

<html lang="en">
<head>
   <title>How to display error without alert box using JavaScript?</title>
   <style>
      .error {
         color: red;
      }
   </style>
</head>
<body>
   <h3>How to display error without alert box using JavaScript?</h3>
   <form name="myForm" onsubmit="return validateForm()">
      <label for="name">Name:</label>
      <input type="text" id="name" name="name"><br>
      <span id="nameError"></span><br>
      <input type="submit" value="Submit">
   </form>

   <script>
      // Method 1: Using inline error messages
      function validateForm() {
         var name = document.forms["myForm"]["name"].value;
         if (name == "") {
            document.getElementById("nameError").innerHTML = "Please enter your name";
            return false;
         }
      }

      // Method 2: Using CSS styling
      function validateForm() {
         var name = document.forms["myForm"]["name"].value;
         if (name == "") {
            document.getElementById("nameError").textContent = "Please enter your name";
            document.getElementById("nameError").style.color = "red";
            return false;
         }
      }

      // Method 3: Using classList
      function validateForm() {
         var name = document.forms["myForm"]["name"].value;
         if (name == "") {
            document.getElementById("nameError").textContent = "Please enter your name";
            document.getElementById("nameError").classList.add("error");
            return false;
         }
      }

      // Method 4: Using setAttribute
      function validateForm() {
         var name = document.forms["myForm"]["name"].value;
         if (name == "") {
            document.getElementById("nameError").textContent = "Please enter your name";
            document.getElementById("nameError").setAttribute("style", "color: red;");
            return false;
         }
      }
   </script>
</body>
</html>

结论

通过在页面上内嵌显示错误信息而不是使用警告框,可以为用户提供更优雅和用户友好的体验。在本文章中,我们学习了如何使用JavaScript以两种方法展示内嵌错误信息并避免使用警告框。我们分别使用了innerHTML、textContent和innerText属性来达到所需结果。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程