簡體   English   中英

jQuery正在阻止表單提交

[英]Jquery is stopping form from submitting

我使用Bootstrap 4和PHPMailer創建了一個表單提交,在我添加一些jQuery嘗試顯示警報框以顯示成功或失敗之前,該表單提交非常有效。

`

                         <div id="messages" class="hide" role="alert">
          <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
          <div id="messages_content"></div>
        </div>


                        <form id="form" role="form" action="test.php" method="post" enctype="multipart/form-data" class="form">
                            <div class="row">
                                <div class="col-md-3">
                                    <label class="input-group g-rounded-3 g-mb-0--md">
                                        <input class="form-control g-brd-white g-brd-right-none border border-secondary border-right-0 u-has-success-v1-2" type="text" placeholder="Your name" name="name" required>
                                        <div class="input-group-append">
                                            <span class="input-group-text g-bg-white g-color-gray border border-secondary border-left-0"><i class="fa fa-user"></i></span>
                                        </div>
                                    </label>
                                </div>
                                <div class="col-md-3">
                                    <label class="input-group g-rounded-3 g-mb-0--md">
                                        <input class="form-control g-brd-white g-brd-right-none border border-secondary border-right-0" type="tel" placeholder="Your phone number" name="number" required>
                                        <div class="input-group-append">
                                            <span class="input-group-text g-bg-white g-color-gray border border-secondary border-left-0"><i class="fa fa-phone"></i></span>
                                        </div>
                                    </label>
                                </div>
                                <div class="col-md-4">
                                    <select class="custom-select w-100 mr-sm-3 mb-3 mb-lg-0 border border-secondary" id="inlineFormCustomSelect" name="service">
                                        <option selected="">Choose Services...</option>
                                        <option value="General Enquiry">General Enquiry</option>
                                        <option value="Light Demolition">Light Demolition</option>
                                        <option value="Rubbish Clearance">Rubbish Clearance</option>
                                        <option value="House Clearance">House Clearance</option>
                                    </select>
                                </div>
                                <div class="col-md-2">
                                    <button class="btn btn-md u-btn-white text-uppercase g-font-size-12 g-font-weight-600 g-rounded-5 border border-secondary bg-white btn-block" type="submit">Request Call Back</button>
                                </div>
                            </div>
                        </form>

                  </section>


                </div>
            </div>
        </section>



        <script src="http://code.jquery.com/jquery.js"></script>
    <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>

    <script>
        $('#form').submit(function(e) {
            $('#messages').removeClass('hide').addClass('alert alert-success alert-dismissible').slideDown().show();
            $('#messages_content').html('<h4>MESSAGE HERE</h4>');
            $('#modal').modal('show');
            e.preventDefault();
        });
    </script>`

提交表單后,將顯示警告框,其中的文本字段將保持填充狀態(很明顯沒有發送到任何地方),也沒有收到電子郵件。

如果我刪除了jQuery,則將該表單發送到php文件,進行處理並返回該頁面,並收到電子郵件。 我似乎找不到此特定問題,我看不到問題!

問題出在jQuery的底部:

e.preventDefault(); 

這樣可以防止表單提交事件的默認操作,因此表單不會提交。 刪除此行,它將起作用。

暫無
暫無

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

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