Php 防止在表单提交后关闭引导模式

Php 防止在表单提交后关闭引导模式,php,forms,twitter-bootstrap-3,modal-dialog,Php,Forms,Twitter Bootstrap 3,Modal Dialog,我搜索了整个网络,并找到了一些解决方案,但它们都使用了JS或AJAX,并且只在一定程度上有所帮助。我是PHP新手,对AJAX一无所知,所以如果这里有人能为我提供一个使用PHP&HTML或最多JS的解决方案 我有一个非常简单的订阅表单,在我客户网站的页脚部分的bootstrap3模式中。PHP for it验证订阅者是否仅使用其官方或公司电子邮件地址进行订阅和一些其他常见/更简单的验证 表单工作得很好,但问题是,只要用户单击submit,模式就会关闭,直到用户从触发器按钮重新打开模式,用户才能看到

我搜索了整个网络,并找到了一些解决方案,但它们都使用了JS或AJAX,并且只在一定程度上有所帮助。我是PHP新手,对AJAX一无所知,所以如果这里有人能为我提供一个使用PHP&HTML或最多JS的解决方案

我有一个非常简单的订阅表单,在我客户网站的页脚部分的bootstrap3模式中。PHP for it验证订阅者是否仅使用其官方或公司电子邮件地址进行订阅和一些其他常见/更简单的验证

表单工作得很好,但问题是,只要用户单击submit,模式就会关闭,直到用户从触发器按钮重新打开模式,用户才能看到成功或失败消息。我希望模式即使在用户提交表单之后也保持打开状态,并显示表单提交是否成功。我希望我能正确地解释我的问题。以下是我的HTML和PHP供您参考:

HTML:

PHP:


风险警报



我还没有检查您的实际PHP,但假设它可以工作,我将使用ajax提交表单并处理响应

因此,请尝试以下方法: 将ID添加到模式内容:

          <div class="modal-body" id="modal_content">
            <?php include('subscribe.php') ?>
          </div>

然后将“提交”按钮更改为:

<a href="javascript:void(0)" class="text-muted" id ="submit_button">Subscribe</a>

然后将此jquery添加到表单页面的底部(用正确的URL替换DIRECT\uURL\uTo\uSubscribe):

jQuery(函数($){
$(“#提交按钮”)。单击(函数(){
var post_url='DIRECT_url_TO_SUBSCRIBE.php';
$.ajax({
键入:“POST”,
url:post_url,
数据:$(“#订阅”).serialize(),//表单的ID
数据类型:“html”,
async:true,
beforeSend:function(){
//添加一个加载gif,以便broswer可以看到正在发生的事情
$('modal#u content').html('');
},
成功:功能(数据){
$('modal#u content').html(数据);
},
错误:函数(){
$(“#模式内容”).html(“

提交时出错”

”; } }); }) });
您好,这很有效

    **data-backdrop="static"**
将其添加到引导模式类。这应该能为你解决问题

    <button type="button" data-backdrop="static" data-toggle="modal" 
    data- target="#yourID">Subscribe</button>
订阅

我试图找出一个类似的问题,所以我将把这个留给未来的谷歌

添加到PHP:

    <?php
     $keepOpen="";
     if(isset($notice)){
     $keepOpen="<script> $('#SubscribeModal').modal('show'); </script>";

我很确定模态关闭的原因是由于。。。提交按钮中的数据切换=“模态”。把这个拿出来,再试一次,它应该是开着的。我还没有测试。否则请检查此链接。。。。。如果这不起作用,你可以从这个链接使用jquery。嗨,谢谢回复。但是如果我删除了data toggle=“modal”,那么modal根本不会打开!!我不熟悉PHP和Javascript。无论如何,我试着把你在链接中提供的JS放在我的PHP中的结束体标记之前,但是表单不起作用了!:(我不知道怎么解决这个问题!
    **data-backdrop="static"**
    <button type="button" data-backdrop="static" data-toggle="modal" 
    data- target="#yourID">Subscribe</button>
    <?php
     $keepOpen="";
     if(isset($notice)){
     $keepOpen="<script> $('#SubscribeModal').modal('show'); </script>";
<?php echo $keepOpen; ?>