thinkphp 关于iframe一次提交完成所有操作

  一、上传操作html界面,upload.html  

    <import type='css' file="admin.css.common" />
    <import type='css' file="admin.css.main" />
    <form action="{:U('Public/upload_post')}" style="height:40px;" enctype="multipart/form-data" method="post" >
    <input type="file" name="photo" class="input-text lh30" size="10" />
    </form>

  二、页面引用upload页面

     <input type="hidden" name="picurl" id="picurl" value="" />

    <iframe width="100%" id="uploadframe" name="uploadframe" frameborder="0" height="40" src="{:U('Public/upload')}"></iframe>

  三、点击提交   

    <input type="submit" οnclick="return jc();" name="button" class="btn btn82 btn_save2" value="保存">
    <input type="resit" name="button" class="btn btn82 btn_res" value="重置">

  四、js提交操作,实现upload页面上传提交操作  

    function jc(){
          if($(window.frames["uploadframe"].document).contents().find("input").val()){
          $(window.frames["uploadframe"].document).contents().find("form").submit();
            return false;
              }
           }

  五、上传控制器处理。当上传成功后,js使父框架原表单提交。

      public function upload_post(){
        $upload = new \Think\Upload();// 实例化上传类
        $upload->maxSize = 3145728 ;// 设置附件上传大小
        $upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
        $upload->rootPath = './Uploads/'; // 设置附件上传根目录
        $upload->savePath = ''; // 设置附件上传(子)目录
            // 上传文件
        $info = $upload->upload();
        if(!$info) {// 上传错误提示错误信息
        $this->error($upload->getError());
          }else{// 上传成功
        echo '<script>parent.document.getElementById("picurl").value="'. $info["photo"]['savepath'].$info["photo"]['savename'].'";
          parent.document.getElementById("myFrom").submit(); </script>';
        // $this->success('上传成功!');
            }
        }

  

转载于:https://www.cnblogs.com/xiamibk/p/3844749.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值