需要html5和jquery submit()

Dan*_*ern 34 jquery html5

我正在尝试将html5实现为一个表单,但是当我通过jquery提交表单并尝试使用html5"required"属性时,我遇到了一个问题.

这是我的表格,非常简单:

<form action="index.php" id="loginform">
      <input name="username" required placeholder="username" type="text">    
      <a href="javascript:$('#loginform').submit();">Login</a>
</form>
Run Code Online (Sandbox Code Playgroud)

问题是当表单通过jquery提交时,它只是绕过了必需的属性.我知道只有表单是由用户提交的,而不是脚本才能使用required,所以当我将锚点更改为提交输入时,它的工作原理很完美.

我的观点是,如果有办法强制jquery .submit()使用html5所需的属性.

提前谢谢你的答案

小智 38

我做了以下

<form>
    ...
    <button type="submit" class="hide"></button>
</form>

<script>
    ...
    $(...).find('[type="submit"]').trigger('click');
    ...
</script>
Run Code Online (Sandbox Code Playgroud)

有用!

  • `class ="hide"`或`style ="display:none"` (3认同)

poz*_*ozs 33

您可以

  • click提交时触发事件
  • 手动检查验证 $("form")[0].checkValidity()
  • 手动查找无效元素 $("form :invalid")


小智 5

这是我个人解决方案的一个例子:

var form = $('#loginform');

// Trigger HTML5 validity.
var reportValidity = form[0].reportValidity();

// Then submit if form is OK.
if(reportValidity){
    form.submit();
}
Run Code Online (Sandbox Code Playgroud)