提交前按 jquery 验证表单
Validate form by jquery before submitting
在表单中我有 2 个按钮:
<button type="submit">Submit</button>
<button type="submit" name="rdraft" value="1">Save to drafts</button>
第一个是实际发布内容,第二个只是将其保存到草稿中。
在表单提交上,我使用 Jquery:
验证表单字段
$('#form').submit(function(e) {
//validation scripts
});
如何仅在单击第一个按钮时验证我的表单,如果是草稿则跳过验证?
提交按钮可以使用onClick事件
function validate(e){
var formData = new FormData(document.forms.myForm);
const jsonFormData = Object.fromEntries(formData);
if(!jsonFormData['name']){
event.preventDefault();
alert("Please enter name");
}
}
<form name="myForm">
<input type="text" name="name" />
<button type="submit" onclick="return validate();">Submit</button>
<button type="submit" name="rdraft" value="1">Save to drafts</button>
</form>
另一个解决方案是使用 submitter
$('#form').submit(function(e) {
const submitterValue = e.originalEvent.submitter.value;
if(submitterValue!=1){
// do validation
e.preventDefault();
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form id="form">
<input type="text" name="name" />
<button type="submit">Submit</button>
<button type="submit" name="rdraft" value="1">Save to drafts</button>
</form>
在表单中我有 2 个按钮:
<button type="submit">Submit</button>
<button type="submit" name="rdraft" value="1">Save to drafts</button>
第一个是实际发布内容,第二个只是将其保存到草稿中。 在表单提交上,我使用 Jquery:
验证表单字段 $('#form').submit(function(e) {
//validation scripts
});
如何仅在单击第一个按钮时验证我的表单,如果是草稿则跳过验证?
提交按钮可以使用onClick事件
function validate(e){
var formData = new FormData(document.forms.myForm);
const jsonFormData = Object.fromEntries(formData);
if(!jsonFormData['name']){
event.preventDefault();
alert("Please enter name");
}
}
<form name="myForm">
<input type="text" name="name" />
<button type="submit" onclick="return validate();">Submit</button>
<button type="submit" name="rdraft" value="1">Save to drafts</button>
</form>
另一个解决方案是使用 submitter
$('#form').submit(function(e) {
const submitterValue = e.originalEvent.submitter.value;
if(submitterValue!=1){
// do validation
e.preventDefault();
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form id="form">
<input type="text" name="name" />
<button type="submit">Submit</button>
<button type="submit" name="rdraft" value="1">Save to drafts</button>
</form>