我有一个普通的按钮:
<button value="finish_with_send" class="finish_with_send">Send</button>
我需要在提交前验证两个字段,因此我已将此按钮替换为以下内容:
<a href="javascrtip:void(0)" class="finish_with_send">Send</a>
验证:
$(".finish_with_send").click(function() {
if(!$("#feedback_string").val() || !$("#feedback_title_string").val()) {
// Validation failed, do something
} else {
// Validation suceeded, submit
}
})
问题是我需要提交上一个按钮,其中值出现以识别提交类型:
value="finish_with_send"
有没有办法用jQuery再次执行此操作?
答案 0 :(得分:1)
保留<button>
(或推荐<input type="submit">
我建议更多浏览器支持)...更改您的javascript:
$(".finish_with_send").click(function(event) {
if(!$("#feedback_string").val() || !$("#feedback_title_string").val()) {
event.preventDefault(); //Stop it submitting.
return false;
} else {
return true; //Carry on.
}
})
并允许您按下submit
表格,如下所示:
<button type="submit" value="finish_with_send" class="finish_with_send">Send</button>
event.preventDefault()
停止事件触发的默认操作,如果是<button type="submit">
,则默认操作是提交表单。
答案 1 :(得分:0)
您可以使用$('#formID').submit()
如果您保留按钮,则可以在表单提交处理程序中管理验证。如果用户在绕过按钮的表单中点击“Enter”,则会提供帮助。
$('#formID').submit(function() {
if (!$("#feedback_string").val() || !$("#feedback_title_string").val()) {
// Validation failed, do something
return false; /* stop browser submitting*/
}
})