是否可以在没有提交按钮的情况下验证表单?

时间:2016-08-03 11:00:26

标签: javascript php jquery forms validation

我有正常的按钮,我使用jquery进行客户端验证。问题是我还想添加服务器端验证,但是当输入类型为submit时,jquery代码不起作用。当我使用

$('#addperson').submit(function(event){
  event.preventDefault();
  //code for client side  checks
});

客户端代码不起作用。请问有没有办法让我的按钮与客户端和服务器端一起工作?

2 个答案:

答案 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>