
























<div style="border-right: #aaaaaa 1px solid; padding-right: 5px; border-top: #aaaaaa 1px solid; padding-left: 5px; padding-bottom: 5px; border-left: #aaaaaa 1px solid; padding-top: 5px; border-bottom: #aaaaaa 1px solid; background-color: #228b22">
<html>
<head>
<SCRIPT language=JavaScript>var isIE = false;
var isFF = false;
var isSa = false;if((navigator.userAgent.indexOf("MSIE")>0) && (parseInt(navigator.appVersion) >=4))isIE = true;
if(navigator.userAgent.indexOf("Firefox")>0)isFF = true;
if(navigator.userAgent.indexOf("Safari")>0)isSa = true; function showimg1(obj){var path;
if(isFF)
{
path=obj.files.item(0).getAsDataURL();//注意:在firefox中通过 obj.files.item(0).getAsDataURL() 获取input中的完整路径,
//否则obj.value 只能显示文件名不包含文件路径
}
else if(isIE)
{
path=obj.value;
}if(!obj.value)
return;var reg = new RegExp("\.(jpg|gif|jpeg)+$");//验证文件的格式
if(obj.value.match(reg))
{
var img5=document.getElementById('img5');//判断是否已经存在img5 对象,不存在则创建此对象。
if(img5)
{
img5.src=path;
}
else
{
var img=document.createElement('img');
img.src=path;
img.setAttribute('width','120');
img.setAttribute('height','90');
img.setAttribute('id','img5');
insertAfter(img,obj); //在当前对象后插入img5 控件
}
}
else今天重新修改一下关于js即时显示的问题,上边的代码如果是以单纯的html文件存在的话显示没有问题,但是如果是要
放在Visual studio 的asp.net 的工程文件中,ie的即时显示片段是有问题的,如果你alert(cardpic2.value);它总是显示
“c:\fakepath\文件名”这样一段东西,其实你的目录结构中不存在“c:\fakepath\”,当时在做项目时也为这个头痛了很久,
后来,引用了下边的一段js 就ok了!
function getValue(obj) {
obj.select(); //该对象选取
return document.selection.createRange().text; //返回选取项的文本内容
}
注意写法:
if(isFF)//firefox 无需改动
{
img2.src=cardpic2.files.item(0).getAsDataURL();
}
else if(isIE)
{
//最初的代码
//img2.src=cardpic2.value;
//改进的代码
img2.src=getValue(cardpic2);
}
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。