<form id="form1">
<input id="inp" type="file">
<br/>
<input type='button' onclick='s();' value='Test'>
</form>
<script language='javascript'>
var img=null;
function s()
{
if(img)img.removeNode(true);
img=document.createElement("img");
img.style.position="absolute";
img.style.visibility="hidden";
img.attachEvent("onreadystatechange",orsc);
img.attachEvent("onerror",oe);
document.body.insertAdjacentElement("beforeend",img);
img.src=inp.value;
}
function oe()
{
alert("cant load img");
}
function orsc()
{
if(img.readyState!="complete") return false;
if (img.src.replace(/.+(\.\w+)/, "$1")!=".gif" && img.src.replace(/.+(\.\w+)/, "$1")!=".jpg")
{
alert("超格");
return false;
} if (img.offsetWidth>300)
{
alert("超宽");
return false;
}
if (img.offsetHeight>150)
{
alert("超高");
return false;
}
if (img.fileSize/1024>20)
{
alert("超大");
return false;
}
else
{
return true;
}
}
</script> 以上是我在网上摘抄的js图片验证代码,原来是没有<form id="form1"></form>标记的,可以通过测试,但当我加了<form id="form1"></form>标记后,显示网页错误,并且没有验证效果了,请高手解决!还有一个问题是:怎样将input 中的 onclick='s();' 替换成 form 中的 onSubmit="return s() ;"谢谢!
<input id="inp" type="file">
<br/>
<input type='button' onclick='s();' value='Test'>
</form>
<script language='javascript'>
var img=null;
function s()
{
if(img)img.removeNode(true);
img=document.createElement("img");
img.style.position="absolute";
img.style.visibility="hidden";
img.attachEvent("onreadystatechange",orsc);
img.attachEvent("onerror",oe);
document.body.insertAdjacentElement("beforeend",img);
img.src=inp.value;
}
function oe()
{
alert("cant load img");
}
function orsc()
{
if(img.readyState!="complete") return false;
if (img.src.replace(/.+(\.\w+)/, "$1")!=".gif" && img.src.replace(/.+(\.\w+)/, "$1")!=".jpg")
{
alert("超格");
return false;
} if (img.offsetWidth>300)
{
alert("超宽");
return false;
}
if (img.offsetHeight>150)
{
alert("超高");
return false;
}
if (img.fileSize/1024>20)
{
alert("超大");
return false;
}
else
{
return true;
}
}
</script> 以上是我在网上摘抄的js图片验证代码,原来是没有<form id="form1"></form>标记的,可以通过测试,但当我加了<form id="form1"></form>标记后,显示网页错误,并且没有验证效果了,请高手解决!还有一个问题是:怎样将input 中的 onclick='s();' 替换成 form 中的 onSubmit="return s() ;"谢谢!
if(s()){
form1.submit();
}
var img=null;
function s()
{
if(img)img.removeNode(true);
img=document.createElement("img");
img.style.position="absolute";
img.style.visibility="hidden";
img.attachEvent("onreadystatechange",orsc);
img.attachEvent("onerror",oe);
document.body.insertAdjacentElement("beforeend",img);
img.src=document.getElementById("inp").value;
}
function oe()
{
alert("cant load img");
}
function orsc()
{
if(img.readyState!="complete") return false;
if (img.src.replace(/.+(\.\w+)/, "$1")!=".gif" && img.src.replace(/.+(\.\w+)/, "$1")!=".jpg")
{
alert("超格");
return false;
} if (img.offsetWidth>300)
{
alert("超宽");
return false;
}
if (img.offsetHeight>150)
{
alert("超高");
return false;
}
if (img.fileSize/1024>20)
{
alert("超大");
return false;
}
else
{
return true;
}
}
</script> <form id="form1" onSubmit="return s()" >
<input id="inp" type="file">
<br/>
<input type='submit' value='Test'>
</form>
===>
img.src=document.getElementById("inp").value;