js通过contentWindow控制iframe子页面元素点击事件,并把值传给父页面[通俗易懂]

js通过contentWindow控制iframe子页面元素点击事件,并把值传给父页面[通俗易懂]本来需要点击一个图片后,显示一个iframe上传框.点击上传,从而操作子页面中的点击上传动作,再把值传给父页面.或控制父页面中iframe元素的显示状态.不过.通过upload()函数,可以不用显示上传框了,直接激活子页面中的上传动作.另外,onchange事件则可以自动提交上传,不必用户点击上传按钮了.三步并做一步<!–父页面中的上传按钮–><imgsrc="…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

本来需要点击一个图片后,显示一个iframe上传框.点击上传,从而操作子页面中的点击上传动作,再把值传给父页面.或控制父页面中iframe元素的显示状态.不过.通过upload()函数,可以不用显示上传框了,直接激活子页面中的上传动作.另外,onchange事件则可以自动提交上传,不必用户点击上传按钮了.三步并做一步

<!-- 父页面中的上传按钮 -->
<img src="ui/images/myimg.png" class="link" onclick="upload()" />

<iframe src="upload.php"id="box_paint_container" ></iframe>



upload.php 文件中有一个表单



<form enctype="multipart/form-data" action="upload.php"id="forms" method="post" name="upform" style="position: relative; ">  
  <input name="upfile" type="file"id="file" onchange="document.getElementById('forms').submit();
  window.parent.document.getElementById('box_paint_container').style.display='none';;"> 
</form>  

下面是父页面中的一个函数
<script type="text/javascript">

function upload(){
var a = document.getElementById('box_paint_container').contentWindow.document.getElementById("file");
a.click();

}
</script>

 

 

 

upload.php中还有一个php上传功能,兼容手机版,可上传单张图片. 一并分享下

 

//上传文件类型列表 
 require_once 'config.php';
 require_once '../system/config/database.inc.php';
//require_once '../system/funcs/global.fun.php';
require_once 'incl/main.inc';

dbconnect(); $settings=get_settings(0); $options=get_options(); $lang=get_language(); 

if(isset($_COOKIE['uid'])){
$uid=intval(_encrypt(_getcookie("uid"),'DECODE'));	
$shopid=$_COOKIE['shopid'];	
$query='SELECT * FROM '.$dbss['prfx']."_member WHERE uid=$uid";

$result=neutral_query($query);
 if(neutral_num_rows($result)>0){
 $ext_user=neutral_fetch_array($result);

 $user=array();
$uname=$ext_user['username'];
$heading=$ext_user['headimg']==''?'/statics/uploads/'.$ext_user['img']:$ext_user['headimg'];
 if($uname==''){
	  $uname=substr_replace($ext_user['mobile'],"****",5,2);
	
 }
}
}


if(!isset($uid)){
	//权限
	redirect('/index.php/mobile/user/login.php');die();
	
	}

$uptypes=array(  
    'image/jpg',  
    'image/jpeg',  
    'image/png',  
    'image/pjpeg',  
    'image/gif',  
    'image/x-png'  
);  
  
$max_file_size=2000000;     //上传文件大小限制, 单位BYTE  
$destination_folder="uploadimg/"; //上传文件路径  
$watermark=0;      //是否附加水印(1为加水印,其他为不加水印);  
$watertype=1;      //水印类型(1为文字,2为图片)  
$waterposition=1;     //水印位置(1为左下角,2为右下角,3为左上角,4为右上角,5为居中);  
$waterstring="http://www.xplore.cn/";  //水印字符串  
$waterimg="xplore.gif";    //水印图片  
$imgpreview=0;      //是否生成预览图(1为生成,其他为不生成);  
$imgpreviewsize=1/2;    //缩略图比例  

if ($_SERVER['REQUEST_METHOD'] == 'POST')  
{


    if (!is_uploaded_file($_FILES["upfile"]['tmp_name']))  
    //是否存在文件  
    {  
         echo "图片不存在!";  
         exit;  
    }  
  
    $file = $_FILES["upfile"];  
    if($max_file_size < $file["size"])  
    //检查文件大小  
    {  
        echo "文件太大!";  
        exit;  
    }  
  
    if(!in_array($file["type"], $uptypes))  
    //检查文件类型  
    {  
        echo "文件类型不符!".$file["type"];  
        exit;  
    }  
  
    if(!file_exists($destination_folder))  
    {  
        mkdir($destination_folder);  //上传到的位置
    }  
  
    $filename=$file["tmp_name"];  
    $image_size = getimagesize($filename);  
    $pinfo=pathinfo($file["name"]);  
    $ftype=$pinfo['extension'];  
    $destination = $destination_folder.time().".".$ftype;  
    if (file_exists($destination) && $overwrite != true)  
    {  
        echo "同名文件已经存在了";  
        exit;  
    }  
  
    if(!move_uploaded_file ($filename, $destination))  
    {  
        echo "移动文件出错";  
        exit;  
    }  
  
    $pinfo=pathinfo($destination);  //文件名
    $fname=$pinfo['basename']; 
	$line='<img onclick="imgbig(this)"src="'.$destination_folder.$fname.'"  style="width:100px;" />';
	$query='INSERT INTO '.$dbss['prfx']."_lines VALUES(NULL,$uid,'$uname',$timestamp,'$line','$shopid','$heading','',0)";
neutral_query($query);
//print_r($line);exit;
     //echo " <font color=red>上传中....</font><br>";  
    // echo " 宽度:".$image_size[0];  
    // echo " 长度:".$image_size[1];  
    // echo "<br> 大小:".$file["size"]." bytes";  
	
}

 

js通过contentWindow控制iframe子页面元素点击事件,并把值传给父页面[通俗易懂]

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/180125.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 搜狗五笔与mac自带的五笔比较

    搜狗五笔与mac自带的五笔比较

    2021年5月12日
    171
  • 通信加密算法

    通信加密算法1.加密算法分类加密算法通常分为对称性加密算法和非对称性加密算法。对于对称性加密算法,信息接收双方都需事先知道密匙和加解密算法且其密匙是相同的,之后便是对数据进行加解密了。非对称算法与之不同,发送双方A,B事先均生成一堆密匙,然后A将自己的公有密匙发送给B,B将自己的公有密匙发送给A,如果A要给B发送消息,则先需要用B的公有密匙进行消息加密,然后发送给B端,此时B端再用自己的私有密匙进行消息解密…

    2022年5月24日
    80
  • Mozilla5.0的含义

    Mozilla5.0的含义

    2022年1月9日
    207
  • Android模拟器修改hosts文件详解

    Android模拟器修改hosts文件详解Android模拟器修改hosts文件详解前言在开发中遇到这样需求,需要在hosts文件中将某个网址域名与其对应的IP地址建立一个关联,比如关联这样一个ip:123.45.67.89www.unknown.net那么在Android开发中测试我们需要修改Android测试机(模拟器)的hosts文件。

    2022年10月20日
    3
  • c和Java的区别[通俗易懂]

    c和Java的区别[通俗易懂] 转 c和Java的区别 2017年12月24日20:45:32 lzr_jead 阅读数:166 Java和C语言的区别在哪里?设…

    2022年7月7日
    22
  • setTimeout()和setInterval()在用法上有什么区别?_clearinterval函数不生效

    setTimeout()和setInterval()在用法上有什么区别?_clearinterval函数不生效setInterval:setInterval(function(){cc.log("dosometing")},3000)//间隔3秒执行一次,可代替schedule,区别就是setInterval以毫秒计时,而schedule以秒计时settimeout :settimeout(function(){cc.log("dosometing")},3000)//3秒后执行一次且…

    2022年10月4日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号