我的单页应用程序中有几个表单。所有表单都使用相同的功能来提交数据。为了使用HTML5验证,我必须将输入类型从button
更改为submit
。现在,如果我点击Submit
按钮,我可以看到验证消息,但我的表单仍然提交。我如何防止提交并保持我的验证?下面是我的例子形式:如何保持验证,但防止表单提交? JQuery
<form name="myForm" id="myForm" method="POST" action="#">
<fieldset>
<legend>User Info</legend>
<div class="formItem">
<label for="last_name">Last Name:</label>
<input type="text" name="frmst_lname" id="frmst_lname" value="" size="20" maxlength="30" title="Maximum length 30 characters." required/>
</div>
<div class="formItem">
<label for="first_name">First Name:</label>
<input type="text" name="frmst_fname" id="frmst_fname" value="" size="20" maxlength="30" title="Maximum length 30 characters." required/>
</div>
<div class="formItem">
<label for="dob">DOB:</label>
<input type="text" name="frmst_dob" id="frmst_dob" value="" size="10" maxlength="10" placeholder="MM/DD/YYYY" class="datepick" required/>
</div>
<div class="formItem">
<p align="center"><input type="submit" name="frmSubmit" id="frmstSubmit" value="Submit"></p>
</div>
</fieldset>
</form>
这里是我的例子功能的提交按钮:
$('input[name="frmSubmit"]').on('click', function(){
var formData = $('#'+frmID).serialize();
$.ajax({
type: 'POST',
url: 'App.cfc?method=updateRecord',
data: formData,
dataType: 'json'
}).done(function(obj){
//handle call back
}).fail(function(jqXHR, textStatus, errorThrown){
alert(errorThrown);
});
});
所有形式对提交按钮相同的名称。我的JQuery选择器使用该名称来提交表单。如果有人知道我如何保持我已经拥有并阻止提交的相同逻辑/功能,请告诉我。
改变输入类型,从提交到按钮或添加e.preventDefault(),以防止从表单提交 – guradio
如果我改变输入类型按钮HTML5验证将不起作用... –
使用或部分,然后阻止提交 – guradio