在jquery跳过验证中手动提交

时间:2016-02-05 05:19:42

标签: javascript jquery node.js validation

我想编辑一个号码,但如果我使用按键:输入提交我的表格,它会跳过数字1-20的验证并提交到我的路线。

<form action="/editrank>?_method=PUT" method="POST">
<input type="number" min="1" max = "20" name = "rank" value = "1"> 
</form>

jquery的:

  $("input").keypress(function(event){
            if(event.which === 13){
                   $(this).closest("form").submit();
            }
        });

我可以添加一个提交按钮,它会验证我是否单击按钮但不是按ENTER键。

1 个答案:

答案 0 :(得分:0)

您可以检查表单是否有效,如

$("input").keypress(function(event) {
  if (event.which === 13) {
    var $form = $(this).closest("form");
    if ($form[0].checkValidity()) {
      $form.submit();
    }
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form action="/editrank>?_method=PUT" method="POST">
  <input type="number" min="1" max="20" name="rank" value="1">
</form>