Heim  >  Artikel  >  Web-Frontend  >  Wie verwende ich JavaScript, um eine verzögerte Überprüfung des Inhalts eines Eingabefelds in einem Formular zu implementieren?

Wie verwende ich JavaScript, um eine verzögerte Überprüfung des Inhalts eines Eingabefelds in einem Formular zu implementieren?

WBOY
WBOYOriginal
2023-10-24 10:31:581205Durchsuche

如何使用 JavaScript 实现表单的输入框内容延时校验功能?

Wie verwende ich JavaScript, um die verzögerte Überprüfungsfunktion des Eingabefeldinhalts des Formulars zu implementieren?

Vorwort:
In der Frontend-Entwicklung ist das Formular eine sehr häufige Komponente. Der Benutzer muss den richtigen Inhalt in das Eingabefeld eingeben, um das Formular abzusenden. Um das Benutzererlebnis zu verbessern und Eingabefehler zu reduzieren, können wir mithilfe von JavaScript eine verzögerte Überprüfungsfunktion implementieren, d .

Idee:

  1. Fügen Sie jedem Eingabefeld des Formulars einen Oninput-Ereignis-Listener hinzu.
  2. Verwenden Sie die Funktion setTimeout im Ereignis-Listener, um die Ausführung der Überprüfungsfunktion für einen bestimmten Zeitraum zu verzögern.
  3. Erhalten Sie den Wert des Eingabefelds in der Überprüfungsfunktion, überprüfen Sie ihn gemäß den Anforderungen und geben Sie die entsprechenden Eingabeaufforderungsinformationen ein.

Codebeispiel:
Das Folgende ist ein Beispielcode, der JavaScript verwendet, um eine verzögerte Überprüfung des Inhalts des Formulareingabefelds zu implementieren:

<!DOCTYPE html>
<html>
<head>
  <title>表单输入框内容延时校验</title>
  <style>
    .error {
      color: red;
    }
  </style>
</head>
<body>
  <form>
    <label for="name">姓名:</label>
    <input type="text" id="name" oninput="validateInput(this)">
    <span id="name-error" class="error"></span>
    <br><br>
  
    <label for="email">邮箱:</label>
    <input type="email" id="email" oninput="validateInput(this)">
    <span id="email-error" class="error"></span>
    <br><br>
  
    <label for="password">密码:</label>
    <input type="password" id="password" oninput="validateInput(this)">
    <span id="password-error" class="error"></span>
    <br><br>
  
    <input type="submit" value="提交">
  </form>

  <script>
    // 校验输入框内容的函数
    function validateInput(input) {
      // 获取当前输入框的值
      var value = input.value.trim();

      // 获取对应的错误提示元素
      var errorElement = document.getElementById(input.id + "-error");

      // 清空错误提示
      errorElement.textContent = "";

      // 延时校验,500毫秒后执行
      setTimeout(function() {
        // 校验姓名
        if (input.id === "name") {
          if (value === "") {
            errorElement.textContent = "请输入姓名";
          } else if (value.length < 2 || value.length > 20) {
            errorElement.textContent = "姓名长度必须为2-20个字符";
          }
        }

        // 校验邮箱
        if (input.id === "email") {
          if (value === "") {
            errorElement.textContent = "请输入邮箱";
          } else if (!/^w+@[a-zA-Z_]+?.[a-zA-Z]{2,3}$/.test(value)) {
            errorElement.textContent = "请输入正确的邮箱格式";
          }
        }

        // 校验密码
        if (input.id === "password") {
          if (value === "") {
            errorElement.textContent = "请输入密码";
          } else if (value.length < 6 || value.length > 20) {
            errorElement.textContent = "密码长度必须为6-20个字符";
          }
        }
      }, 500);
    }
  </script>
</body>
</html>

Erklärung:

  • In diesem Beispiel haben wir ein einfaches Formular hinzugefügt, einschließlich Name, Es gibt drei Eingabefelder für E-Mail und Passwort.
  • Jedes Eingabefeld ist an einen Oninput-Ereignis-Listener gebunden. Wenn der Benutzer Inhalte in das Eingabefeld eingibt, wird die Validierungsfunktion „validateInput“ aufgerufen.
  • Die Logik der Überprüfungsfunktion ist:

    • Ermitteln Sie den Wert des aktuellen Eingabefelds und entfernen Sie die führenden und nachfolgenden Leerzeichen.
    • Holen Sie sich das entsprechende Fehleraufforderungselement.
    • Löschen Sie die Fehlermeldung.
    • Verwenden Sie die Funktion setTimeout, um die Ausführung der Verifizierungslogik um 500 Millisekunden zu verzögern.
    • Führen Sie verschiedene Überprüfungen basierend auf dem ID-Wert des Eingabefelds durch. Wenn die Anforderungen nicht erfüllt sind, werden die entsprechenden Eingabeaufforderungsinformationen im Fehleraufforderungselement angezeigt.

Fazit:
Durch die Verwendung von JavaScript zur Implementierung der verzögerten Überprüfungsfunktion des Inhalts des Formulareingabefelds kann der Inhalt im Eingabefeld innerhalb eines bestimmten Zeitraums überprüft werden, nachdem der Benutzer den Inhalt eingegeben hat, und entsprechende Eingabeaufforderungsinformationen gegeben werden kann. Dies verbessert das Benutzererlebnis und reduziert Eingabefehler. Der obige Beispielcode stellt eine einfache Implementierung dar, die Sie entsprechend Ihren spezifischen Anforderungen erweitern und ändern können. Ich hoffe, dieser Artikel hilft Ihnen!

Das obige ist der detaillierte Inhalt vonWie verwende ich JavaScript, um eine verzögerte Überprüfung des Inhalts eines Eingabefelds in einem Formular zu implementieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn