我有一个没有<input type="submit">
的简单HTML5表单,因为提交表单的按钮位于表单本身之外。表单中有几个输入具有required="required"
属性集。
我将提交表单外的按钮附带以下代码:
$('#upgrade_submit').click(function(){
$('#cc-form-modal').submit();
return false;
});
单击该按钮时,它不会在必填字段上运行正常的HTML5验证。我究竟做错了什么?有没有办法在“强制”提交之前检查表单是否有效?
答案 0 :(得分:12)
我通过添加隐藏的提交输入元素完成了我的目标:
<input type="submit" class="submit" style="display:none;">
然后我将以下代码附加到我的外部提交处理程序。
$('#upgrade_submit').click(function(){
$('#cc-form-modal .submit').click();
return false;
});
这将导致HTML5的验证运行,显示默认错误消息并且一切正常!