使用preventDefault检查必填字段

时间:2018-02-21 02:31:46

标签: javascript jquery html html-form preventdefault

我遇到了一种情况,我有一个HTML表单,并且在许多字段中都需要它。问题是我必须使用preventDefault忽略'required'输入并提交表单,即使没有必填字段。因为工作不完全取决于我,我必须使用preventDefault并解决它。

我正在使用jQuery,我正在尝试找到一种方法来定位所需的字段,并阻止表单在click上提交。在用户提交之前,必须在表单上填写必填字段表单,因为我不希望在提交时丢失所需的信息。感谢帮助!

HTML

@ConditionalOnClass

3 个答案:

答案 0 :(得分:1)

在您使用preventDefault()的事件处理程序中,在表单元素上添加checkValidity()方法:

document.getElementById('myForm').checkValidity();

这将"静态"检查您的表单是否存在所有HTML5约束违规(包括必填),

答案 1 :(得分:0)

快速解决您的问题。我希望这就是你所需要的。检查以下内容:

$('#submit-form').click(function(){
     event.preventDefault();
     if(validateForm()){
      alert('sending');
     }

    });


    function validateForm() {
      var isValid = true;
      $('input[type=text]').each(function() {
        if ( $(this).val() === '' ) {
        alert('validation failed');
        isValid = false;
        } 
      });
      return isValid;
    }

或访问JSFiddle:enter link description here

答案 2 :(得分:-1)

您可以在表单提交方法中使用preventDefault()。然后“必需”将起作用。

document.querySelector('form').addEventListener('submit', submitHandler);

function submitHandler(e){
e.preventDefault();
//your code here
}