我遇到了一种情况,我有一个HTML表单,并且在许多字段中都需要它。问题是我必须使用preventDefault忽略'required'输入并提交表单,即使没有必填字段。因为工作不完全取决于我,我必须使用preventDefault并解决它。
我正在使用jQuery,我正在尝试找到一种方法来定位所需的字段,并阻止表单在click上提交。在用户提交之前,必须在表单上填写必填字段表单,因为我不希望在提交时丢失所需的信息。感谢帮助!
HTML
@ConditionalOnClass
答案 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
}