如何触发js中标记为必需的输入标记的验证?

时间:2018-05-23 12:40:51

标签: javascript html

当用户模糊此输入字段时,我想检查其有效性并使用默认浏览器" bubble"弹出。我希望不要将输入包装在表单标签中。 如何使用js实现此结果?

现在我正在尝试此代码但没有结果:

<input type="text" onblur="this.checkValidity();" required>

结果应为(但不包含在表格标签中:

&#13;
&#13;
<form action="/action_page.php">
  Username: <input type="text" name="usrname" required>
  <input type="submit">
</form>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

见下面的例子:

var allElem = document.querySelectorAll('input, textarea');

for( var i = 0; i < allElem.length; i++ ) {
  allElem[ i ].addEventListener( 'blur', function(){
    if( !this.checkValidity() )
      document.getElementById( 'submit' ).click()  
    else
      this.classList.remove('has-error')
  }); 
}
<form id="myForm" action="/action_page.php" method="POST">
    Username: <input type="text" required>
    <input type="submit" value="Submit" id="submit">
</form>