jQuery MiniUI

标题: type=file 与window.CloseOwnerWindow的问题 [打印本页]

作者: killermeter    时间: 2014-7-23 11:27:05     标题: type=file 与window.CloseOwnerWindow的问题


[attach]4873[/attach]
点击新增的时候,弹出一个新的窗体,
[attach]4874[/attach]
然后选择文件点击上传,后台就会把文件上传并把数据保存到数据库,然后alert(上传成功),接着问题出现了,如果此时我没有加window.CloseOwnerWindow这句话,我自己点击右上角的X,手动关闭增加附件这个窗体,则文件有上传有保存,如果我加了局window.closeownerwindow,让这个窗体自动关闭,则文件没上传也没保存,这是为什么啊???

作者: felt    时间: 2014-7-23 11:41:52

你保存和上传写在什么事件里的
你js调用的时候没触发方法吧
作者: killermeter    时间: 2014-7-23 15:00:07

felt 发表于 2014-7-23 11:41
你保存和上传写在什么事件里的
你js调用的时候没触发方法吧

点击新增的代码
  1.   function addAttachment(){
  2.             var o = form.getData();  
  3.             var json = mini.encode(o);
  4.              mini.open({
  5.                 url: "__URL__/addFile",
  6.                 title: "增加附件", width:450, height:300,
  7.                 onload: function () {
  8.                     var iframe = this.getIFrameEl();
  9.                     var data = { id: json};
  10.                     iframe.contentWindow.SetData(data);
  11.                 },
  12.                 ondestroy: function(){
  13.                     grid.reload();
  14.                 }
  15.             });
  16.         }
复制代码
新增页面点击上传的代码
  1. function uploads(){
  2.                 var form1 = document.getElementById("myForm1");      
  3.                 var tagElements = form1.getElementsByTagName('input');  

  4.                 for(var i =0;i<tagElements.length;i++){
  5.                     if(tagElements[i].value == "" || tagElements[i].value ==null){
  6.                         alert("请正确选择要上传的文件!");
  7.                         return ;
  8.                     }
  9.                 }
  10.                 document.myForm1.action="__URL__/upload/?id="+correctNo;
  11.                 document.myForm1.submit();
  12.                 alert('上传成功');
  13.                // window.CloseOwnerWindow('save');
  14.         }
复制代码

作者: killermeter    时间: 2014-7-23 15:01:48

felt 发表于 2014-7-23 11:41
你保存和上传写在什么事件里的
你js调用的时候没触发方法吧
  1. // window.CloseOwnerWindow('save');
复制代码
把这句注释掉,然后上传完后,点击右上角的x就能上传了。。。
作者: felt    时间: 2014-7-23 15:19:25

killermeter 发表于 2014-7-23 15:01
把这句注释掉,然后上传完后,点击右上角的x就能上传了。。。

表单没提交完这个页面就关闭了吧,你延时一下试试
作者: killermeter    时间: 2014-7-23 15:53:26

felt 发表于 2014-7-23 15:19
表单没提交完这个页面就关闭了吧,你延时一下试试

延时?是alert出来后等会儿点ok吗?还是一样呀。。。。
作者: felt    时间: 2014-7-23 15:59:48

killermeter 发表于 2014-7-23 15:53
延时?是alert出来后等会儿点ok吗?还是一样呀。。。。

setTimeout(function(){
   window.CloseOwnerWindow();
},3000)
这样延时试一下
作者: killermeter    时间: 2014-7-23 16:26:06

felt 发表于 2014-7-23 15:59
setTimeout(function(){
   window.CloseOwnerWindow();
},3000)

这样行了耶~~不过这样等在那儿3s好像很突兀诶,能不能来个遮罩3s啊?怎么用啊??
作者: felt    时间: 2014-7-23 16:33:30

killermeter 发表于 2014-7-23 16:26
这样行了耶~~不过这样等在那儿3s好像很突兀诶,能不能来个遮罩3s啊?怎么用啊?? ...

这个延时你可以根据你那边的实际延时设置小一点的,我只是定位一下你的问题所以放了3秒
原生表单提交的话不好控制返回的时间,你可以尝试用ajax提交,这样可以在ajax的success回调里处理关闭
作者: killermeter    时间: 2014-7-23 16:55:34

felt 发表于 2014-7-23 16:33
这个延时你可以根据你那边的实际延时设置小一点的,我只是定位一下你的问题所以放了3秒
原生表单提交的话 ...

上传提交:网上说不能用ajax,所以我用的是
  1. iframe
复制代码
。。怎么用ajax啊?
作者: felt    时间: 2014-7-23 17:12:20

killermeter 发表于 2014-7-23 16:55
上传提交:网上说不能用ajax,所以我用的是。。怎么用ajax啊?

ajax不能上传文件,可以网上搜一下解决方法
作者: killermeter    时间: 2014-7-23 17:20:04

felt 发表于 2014-7-23 17:12
ajax不能上传文件,可以网上搜一下解决方法

好的,谢谢啊~~




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2