簡體   English   中英

沒有錯誤時,jQuery ajax表單不提交

[英]jQuery ajax form not submitting when no errors exist

我有一個使用jQuery&PHPMailer()的表單提交。 如果存在錯誤,則它們將顯示在表格上方,例如“名稱是必填字段”,但是,如果正確填寫了所有字段,則表格仍會在頂部顯示一個空的alert alert-danger框,並且不會提交。

jQuery的

var form = jQuery("#contact-form");
form.submit(function(e) {
    e.preventDefault();
    jQuery('#submit').attr("disabled", true);
    jQuery.ajax({
        url:      '/process-contact.php',
        type:     'POST',
        data:     form.serialize(),
        dataType: 'json'
    }).done(function(data) {
        jQuery('#messages').removeClass();
        if (data.code === 1) {
            form[0].reset();
            jQuery('#messages').addClass('alert alert-success');
            jQuery('#submit').attr("disabled", false);
        } 
        else {
            jQuery('#messages').addClass('alert alert-danger');
            jQuery('#submit').attr("disabled", false);
        }
        jQuery('#messages').html(data.message);
        jQuery('html, body').animate({
            scrollTop: jQuery("#messages").offset().top
        }, 1000);
    });
});

HTML

<form class="contactForm" id="contact-form" name="contact-form">
    <div class="row">
        <div class="col-xs-12 col-sm-12 col-md-6 col-lg-6">
            <div class="form-group">
                <label for="name">Name</label> 
                <input class="form-control" id="name" name="name" placeholder="Your Name" type="text">
            </div>
            <div class="form-group">
                <label for="email">Email Address</label>
                <input class="form-control" id="email" name="email" placeholder="Your Email" type="text">
            </div>
            <div class="form-group">
                <label for="subject">Subject</label>
                <input class="form-control" id="subject" name="subject" placeholder="Subject" type="text">
            </div>
        </div>
        <div class="col-xs-12 col-sm-12 col-md-6 col-lg-6">
            <div class="form-group">
                <label for="name">Message</label>
                <textarea class="form-control" name="message" placeholder="Message"></textarea>
            </div>
        </div>
        <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
            <button class="btn btn-skin pull-right" name="submit" id="submit" type="submit">Send Message</button>
        </div>
    </div>
</form>

每次單擊后消除類alert-danger

form.submit(function(e) {
 jQuery('#messages').removeClass('alert-danger');
 ........

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM