当用户在javascript中离开文本框时如何调用函数

问题描述 投票:0回答:3

我不确定标题是否明确,但是我正在进行某种形式的验证,我希望当用户将焦点从文本框中移开时调用一个函数。当用户在文本框中时,将显示指令,但是一旦用户移至下一个文本框,我希望调用一个函数,以便它将检查用户是否输入了符合规格的数据或根本没有输入数据(因此对于名字输入框,我希望它验证用户是否仅输入字母,并且一旦用户离开文本框并转到姓氏文本框,该函数将被实时调用。

function validate() {
  var alpha = /^[A-Za-z]+$/;
  var firstName = document.getElementsByName("firstname");
  if (firstName == alpha) {
    alert("Yes")
  } else {
    alert("No")
  }
}
#prompt {
  color: #fff;
  font-weight: 400;
  margin-left: 30px;
  visibly: hidden;
}
#prompt2 {
  color: #fff;
  font-weight: 400;
  margin-left: 30px;
  visibly: hidden;
}
.input:focus+#prompt {
  color: #000;
  visibily: visible;
}
.input:focus+#prompt2 {
  color: #000;
  visibily: visible;
}
<!DOCTYPE html>
<html>

  <head>
    <meta charset="UTF-8">
    <link rel="stylesheet" href="css/styles.cs">
    <script type="text/javascript" src="js/process_form.js"></script>
    <title>Survey - Zhi Lin</title>
  </head>

  <body>
    <form>
      <fieldset>
        <legend> Personal</legend>

        First Name: <br>
        <input type="text" name="firstname" class="input">
        <span id="prompt">Please enter first name</span>
        <br>
        Last Name: <br>
        <input type="text" name="lastname" class="input">
        <span id="prompt2">Please enter last name</span>
        <br>
      </fieldset>
    </form>

  </body>

</html>
javascript html forms validation dom
3个回答
0
投票

您可以触发“ onchange”事件。只需要做-

<input type="text" name="firstname" class="input" onchange="validate()">

0
投票

function validate() {
    alert("function validate calling")
}
<input type="text" name="firstname" class="input" onfocusout="validate()">

您可以使用onfocusout事件来调用函数:

focusout事件发生在一个元素(或其中的任何元素)失去焦点时。

<input type="text" name="firstname" class="input" onfocusout="validate()">

0
投票

您可以使用jQuery

$('input[name ="firstname"]')).focusout(function(){
   var alpha = /^[A-Za-z]+$/;
  var firstName = document.getElementsByName("firstname");
  if (firstName == alpha) {
    alert("Yes")
  } else {
    alert("No")
  }
});
© www.soinside.com 2019 - 2024. All rights reserved.