Javascript 如果使用jquery进行验证,如何提交表单?

Javascript 如果使用jquery进行验证,如何提交表单?,javascript,php,jquery,forms,validation,Javascript,Php,Jquery,Forms,Validation,我正在用jquery验证表单。因此,当表单提交时,我使用的是event.preventDefault()

我正在用jquery验证表单。因此,当表单提交时,我使用的是
event.preventDefault()
对我所做的进行编码-

$('form[name=contact_form]').submit(function(event) {
        event.preventDefault();
        var formData = $('form[name=contact_form]').serialize();
        var phone = $.trim($('form[name=contact_form]').find('input[name=PHONE]').val()).length;
        var intRegex = /[0-9 -()+]+$/;
        var alert = $('#contact_alert');
        var success = $('#contact_success');
        if(phone==0){
            phone.focus();
            alert.html("<p class='alert alert-danger' style='text-align:left;'>Phone number is required</p>");
        }
        else if((phone < 10)){
            phone.focus();
             alert.html("<p class='alert alert-danger' style='text-align:left;'>Please enter a valid phone number</p>");
             return false;
        }else{
            return true;
        }
    });
$('form[name=contact_form]')。提交(函数(事件){
event.preventDefault();
var formData=$('form[name=contact_form]')。serialize();
var phone=$.trim($('form[name=contact_form]').find('input[name=phone]').val()).length;
var intRegex=/[0-9-()+]+$/;
var警报=$('联系警报');
var success=$(“#联系#u success”);
如果(电话==0){
phone.focus();
html(

需要电话号码

); } 如果有其他情况((电话<10)){ phone.focus(); html(

请输入有效的电话号码

); 返回false; }否则{ 返回true; } });
Html页面:

<?php
echo form_open_multipart('home/inquiry', array('name' => 'contact_form'));
?>
                <div class="row">
                    <div class="col-md-6">
                        <div class="form-group">
                            <input type="hidden" name="form_type" value="C">
                            <input type="text" name="NAME" id="user-name" class="form-control" placeholder="Full Name"/>
                        </div>
                    </div>
                    <div class="col-md-6">
                        <div class="form-group">
                            <input type="text" name="PHONE" id="user-phone" class="form-control" placeholder="Phone"/>
                        </div>
                    </div>
                    <div class="col-md-6">
                        <div class="form-group">
                            <input type="text" name="EMAIL" id="user-email" class="form-control" placeholder="Email"/>
                        </div>
                    </div>
                    <div class="col-md-6">
                        <div class="form-group">
                            <input type="text" name="SUBJECT" id="user-subject" class="form-control" placeholder="Reason for inquiry"/>
                        </div>
                    </div>
                    <div class="col-md-12">
                        <textarea class="form-control" name="MESSAGE" id="user-message"  placeholder="Message"></textarea>
                    </div>
                    <div class="col-md-12 text-left">
                        <div class="form-group">
                            <input type="submit" name="submit"  class="btn btn-warning">
                        </div>
                    </div>
                </div>
                <?php echo form_close(); ?>

不要调用
事件.preventDefault()如果希望在表单验证ok后提交表单


验证失败后返回false就足够了。

不要调用
event.preventDefault()如果希望在表单验证ok后提交表单

$(this).submit();
验证失败后返回false就足够了

$(this).submit();
当它有效的时候


当它有效时。

尝试替换
返回true$(this.submit())的代码>

尝试替换
返回true$(this.submit())的代码>

我通常会这样做

$("#submit").submit(function(e){
    if(validateFields() == true){ //If all fields are valid
        $("#submit").submit();
    }
    else{
        e.preventDefault(e);
    }    
});

我通常做类似的事情

$("#submit").submit(function(e){
    if(validateFields() == true){ //If all fields are valid
        $("#submit").submit();
    }
    else{
        e.preventDefault(e);
    }    
});

如果我不调用
event.preventDefault()
然后此函数
$('form[name=contact_form]')。submit(函数(事件)
没有直接调用表单submit..看起来
if(phone==0)中应该有
return false
也是部分。当手机长度小于10个字符时,返回的是
false
,但当手机长度等于0时,返回的不是。如果我不调用
event.preventDefault();
则此函数
$('form[name=contact\u form]')。提交(函数(事件)
没有调用表单直接提交..在
if(phone==0)
部分中似乎也应该有
return false
。当phone小于10个字符时返回
false
,但当phone的长度等于0时不返回。