表单提交后重定向回页面并显示模态

时间:2016-07-27 01:25:30

标签: javascript php jquery html forms

我会尝试尽可能地解释这一点。

我有一个关于在email.php上提交操作的表单:

<form data-toggle="validator" role="form" method="POST" action="email.php">
                        <div class="row">
                            <!-- Full Name -->
                            <div class="form-group col-lg-4">
                                <label for="inputName" class="control-label">Name</label>
                                <input type="text" class="form-control" name="inputName" id="inputName" required>
                            </div>
                            <!-- email -->
                            <div class="form-group col-lg-4">
                              <label for="inputEmail" class="control-label">Email</label>
                              <input type="email" class="form-control" name="inputEmail" id="inputEmail" data-error="Incorrect Email Format" required>

                            </div>
                            <!-- phone number -->
                            <div class="form-group col-lg-4">
                                <label for="inputTel" class="control-label">Phone Number</label>
                                <input type="text" pattern="(?:\(\d{3}\)|\d{3})[- ]?\d{3}[- ]?\d{4}" name="inputTel" id="inputTel" data-minlength="10" maxlength="15" class="form-control" placeholder="123-456-7890" data-error="(123)-456-7890 | 1234567890 | 123-456-7890"> 

                            </div>
                            <!-- message -->
                            <div class="form-group col-lg-12">
                                <label for="content" class="control-label">Message</label>
                                <textarea name="content" id="content" class="form-control" rows="6" data-minlength="5" data-error="Message Must be longer"></textarea>

                            </div>
                            <!-- button -->
                            <div class="form-group col-lg-12">
                               <button type="submit" class="btn btn-default">Submit</button>
                            </div>
                        </div>
                    </form>

在email.php中成功处理表单后,我希望它返回到表单所在的页面并显示&#34;谢谢&#34;我创建的模态

目前我在email.php(验证后):

     echo "<script>

     $(window).load(function(){
         $('#myModal').modal('show');
     });
     window.location.href="Websitename";
</script>";

这不起作用。发生的事情是页面被重定向但不显示模态。

有人可以请我帮忙吗?

1 个答案:

答案 0 :(得分:0)

我认为问题在于

        window.location.href="Websitename";

当浏览器看到此行时,她将自动找到浏览器,这意味着立即发出新请求。 让我解释 : 您的表单发送请求到email.php -----&gt;将回复作为javascript发送 - &gt; javascript请求“网站名称”。 为了解决这个问题,你应该将window.location.href放在timeout函数中,并在window.load之后触发超时。 请检查:

    echo "<script>
          function deferredFunction(){
 window.location.href="Websitename";
    }
         $(window).load(function(){
             $('#myModal').modal('show');
             setTimeout(deferredFunction,5000);
         });   
    </script>";

希望帮助!!