📄 uploadiframe.jsp
字号:
<%@ page language="java" pageEncoding="utf-8"%>
<html>
<head>
<title>上传</title>
</head>
<body>
实现原理:当鼠标移到“增加”的时候,文件选择器的按钮也移到这里了,
但是由于有样式 opacity:0;filter:alpha(opacity=0); 使得透明
当点击“增加”的时候其实是点在文件选择器上面了
target="_self"还可,当target="_blank"的时候浏览器插件google、baidu都会拦截这种提交,因为可以判断出并非用户点击的提交操作
<div id="msg"></div>
<iframe name="hidden_frame" id="hidden_frame" style="display:none"></iframe>
<form method="post" action="../UploadFile" name="form1" id="form1"
enctype="multipart/form-data" target="hidden_frame">
<div>
<input type="file" name="fileSelector" id="fileSelector" onchange="checkAndSubmit(this)"
onmousemove="moveFileSelector()"
style="top:0px;height:20px;width:200px;position:absolute;opacity:0;filter:alpha(opacity=0);">
</div>
<input type="button" value="通过excel文件导入号码"
title="导入excel文件,按中间点比较可靠:有时候点击左边,浏览文件的窗口没有弹出来,因为浏览文件的控件没有正确的移到鼠标的下面"
id="btn1" onmousemove="moveFileSelector()" onclick="alert('奇怪')">
</form>
</body>
<script type="text/javascript">
function callback(msg)
{
document.getElementById("msg").innerHTML = "<font color=red>"+msg+"</font>";
}
function checkAndSubmit(me){
//document.getElementById("btn2").select();
me.blur();
var str=me.value;
str=str.substr(str.lastIndexOf(".")+1);
if(str!="xls"){
alert("只可导入excel文件");
return;
}else{
document.form1.submit();
}
}
function getMousePos() {
//获取鼠标绝对位置
var e = window.event;
return {
x : (document.documentElement.scrollLeft || document.body.scrollLeft) + e.clientX,
y : (document.documentElement.scrollTop || document.body.scrollTop) + e.clientY
};
}
function moveFileSelector() {
var mos = getMousePos(), wc = document.getElementById("fileSelector");
with (wc.style) {
left = mos.x - 200 + "px";
top = mos.y - 10 + "px";
}
}
</script>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -