Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 提交表单后显示模式对话框_Php_Jquery_Forms_Twitter Bootstrap - Fatal编程技术网

Php 提交表单后显示模式对话框

Php 提交表单后显示模式对话框,php,jquery,forms,twitter-bootstrap,Php,Jquery,Forms,Twitter Bootstrap,我有一个表单,在提交下载文件之后。我想自动而不是自动下载文件..以显示模式对话框并显示下载链接 <form name="softwareform" id="softwareform" action="../downloadlink.php" method="POST" align="left"> <div class="input-group margin-bottom-sm"> <span class="input-group-addon">

我有一个表单,在提交下载文件之后。我想自动而不是自动下载文件..以显示模式对话框并显示下载链接

<form name="softwareform" id="softwareform" action="../downloadlink.php" method="POST" align="left">
  <div class="input-group margin-bottom-sm">
      <span class="input-group-addon">
         <i class="fa fa-windows fa-fw"></i>
      </span>
      <input class="form-control" type="text" placeholder="Software Title" name="softtitle" id="softtitle">
  </div>

  <button type="submit" class="btn btn-primary"  >
      <i class="fa fa-cogs"></i>Download File
  </button>
</form>

下载文件
在download link.php中,我使用头文件在进程结束后重定向到下载文件。 这是我想显示的模态对话框

<div class="modal fade bs-modal-sm" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true">
   <div class="modal-dialog modal-sm">
      <div class="modal-content" id="dialog-download">
         <br/><br/>
         <h2>Your Download is ready.</h2>
         <hr/>
         Your Download link is here <br/>
      </div>
   </div>
</div>



你的下载已经准备好了。
您的下载链接在这里
提交表单后如何显示此对话框? 提前感谢

$(“#软件表单”)。提交(功能(e){
$("#softwareform").submit(function(e){
    e.preventDefault();
    $.ajax({
        type : 'POST',
        data: $("#softwareform").serialize(),
        url : 'url',
        success : function(data){
            $("#download_link").html(data);
            $("#download_modal").modal("show");
        }
    });
    return false;
});

<div id="download_modal" class="modal fade bs-modal-sm" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true">
    <div class="modal-dialog modal-sm">
        <div class="modal-content" id="dialog-download">
            <br/><br/><h2>Your Download is ready.</h2>
            <hr/>
             Your Download link is here<a id="download_link" target="_blank"> </a>
            <br/>
        </div>
     </div>
</div>
e、 预防默认值(); $.ajax({ 键入:“POST”, 数据:$(“#softwareform”).serialize(), url:'url', 成功:功能(数据){ $(“#下载链接”).html(数据); $(“下载”模态)模态(“显示”); } }); 返回false; });

您的下载已准备就绪。
你的下载链接在这里

资料来源:-


您可以将方法更改为POST并使用serialize form从表单发送数据。

您需要通过ajax发送表单数据,然后手动打开模式。 在表单页面上

    <form name="softwareform" id="softwareform" method="POST" align="left">
    <div class="input-group margin-bottom-sm">
    <span class="input-group-addon">
     <i class="fa fa-windows fa-fw"></i>
    </span>
    <input class="form-control" type="text" placeholder="Software Title" name="softtitle" id="softtitle">
    </div>
    <a href="javascript:void(0);" onclick="submit_form()" class="btn btn-primary"  >
    <i class="fa fa-cogs"></i>Download File
    </button>
    </form> 

    <div id="download_modal" class="modal fade bs-modal-sm" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true">
    <div class="modal-dialog modal-sm">
    <div class="modal-content" id="dialog-download">
        <br/><br/><h2>Your Download is ready.</h2>
        <hr/>
         Your Download link is here<a id="download_link" target="_blank"> </a>
        <br/>
     </div>
    </div>
    </div>

    <script type="text/javascript">
         function submit_form(){
           var data = $('#softwareform').serialize();
           url = 'downloadlink.php',
             $.ajax({
             method: 'POST',
             url : 'url',
             dataType:'html', //json,html you will echo on the php file
             success : function(data){
        $("#download_link").html(data);
        $("#download_modal").modal("show");
    }
});
         }

    </script>


函数提交表单(){ var data=$('#softwareform').serialize(); url='downloadlink.php', $.ajax({ 方法:“POST”, url:'url', 数据类型:'html',//json,您将在php文件上回显的html 成功:功能(数据){ $(“#下载链接”).html(数据); $(“下载”模态)模态(“显示”); } }); }
@Epodax我可以回显第二个表单的下载链接,但如何在第一个表单上触发它??Thanks@Epodax不…我想在第一页上显示模式…而不是在流程页上..我想显示而不是重定向请参见Namit的答案:)它比我更好地解释了我想要达到的目标…谢谢你的回答。我在我的表单上添加了上述代码…还检查了您发送给我的链接..但我仍然无法使其工作。在我处理表单的php上,我使用标题重定向..我必须在php文件上也添加一些内容吗?我也读了你提到的url,但它对我没有帮助…嗨,在php文件上,你不应该再使用重定向,只需返回需要下载的文件的url,这样如果用户单击新的url,文件就会为他下载。重点是,在第一次提交时,你处理表单信息,然后将文件的下载url返回到前端以在模式上显示,然后使用模式上的链接下载文件我自己尝试过…我删除了重定向,但当我提交表单并且没有打开对话框时,它仍然打开downloadlink.php。另外,如果需要表单数据,只需将方法从get更改为post,并序列化表单