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,并序列化表单