我有正常的按钮,我使用jquery进行客户端验证。问题是我还想添加服务器端验证,但是当输入类型为submit时,jquery代码不起作用。当我使用
$('#addperson').submit(function(event){
event.preventDefault();
//code for client side checks
});
客户端代码不起作用。请问有没有办法让我的按钮与客户端和服务器端一起工作?
答案 0 :(得分:3)
'提交活动'可能会帮助你
var valid = false;
$("#valid").on('change', function(){
valid = this.checked;
})
$('#form').on('submit', function(e){
console.log(valid);
if(!valid) {
e.preventDefault();
$('#ipt').val('oops, stopped');
} else {
$('#ipt').val('sending');
//yey
}
});
工作jsbin: https://jsbin.com/nowirij/4/edit?html,console,output
答案 1 :(得分:2)
首先执行表单验证客户端,而不是$('form').submit()
并将所有信息发送到服务器。
$('button').click(function () {
if (validateMyForm()) {
$('form').submit();
}
});
function validateMyForm() {
// check if valid
[...]
return isValid
}
<form>
<input type="text" name="name"/>
<button type="button">Submit</button>
</form>