关于iframe提交form表单

之前用ifiame提交form表单做上传文件,没有写博,这几天又需要做个下载,所以又把上次的代码拔出来。

其实上传下载的有很多插件的,不过不太喜欢太依赖于插件。不多说

首先准备html

<form id="formFile" name="formFile" method="post" action="../Handler/upfile.ashx" target="frameFile" enctype="multipart/form-data">
</form>
<iframe id='frameFile' name='frameFile' style="display:none" ></iframe>

一个form一个Iframe  form有个属性是target 这个target类似于<a>标签的target:

target属性:
_blank ---------- 新开窗口
_self ----------- 自身
_top ------------ 主框架
_parent --------- 父框架
自定义名字 ----- 出现于框架结构,将会在该名称的框架内打开链接

我们把target名字写成Iframe name属性的名字,那么这个form表单的提交会发生在Iframe里面

   $("#formFile").unbind();
                    $("#formFile").bind("submit", function () {
                           if(true)
                                {return true};
                else{return false} }) $(
"#formFile").submit();

注意上面的submit事件是提交form表单之前的事件,如果这个事件的的返回值是true那么执行以下操作,false 则阻止表单提交!

JQ 的submit事件是加在form表单上的,如果submit有参数(方法)的话,那么会给他绑个以上的事件,如果没参数那么提交表单!

 

 最重要的地方来了,我们如何知道表单提交成功或失败呢?

我们可以用ifaime的onload事件来监测

$("#frameFile").load(function () {
                    var response = JSON.parse($(document.getElementById('frameFile').contentWindow.document.body).text());
                    if (response.result=="True") {
                        
                    } else if (response.result == "False") {
                       
                    }
                   
                })

 

posted @ 2015-12-29 10:16  立于群  阅读(2702)  评论(0编辑  收藏  举报