<HTML>
<HEAD>
<TITLE></TITLE>
<img src="about:blank" id="fileChecker" alt="test" height="18"/>
<script type="text/javascript">
var oFileChecker = document.getElementById("fileChecker");
function changeSrc(filePicker)
{
oFileChecker.src = filePicker.value;
}
oFileChecker.onreadystatechange = function ()
{
if (oFileChecker.readyState == "complete")
{
checkSize();
}
}
function checkSize()
{
var limit = document.getElementById("fileSizeLimit").value * 1024; if (oFileChecker.fileSize > limit)
{
alert("too large");
}
else
{
alert("ok");
}
}
</script>
</HEAD>
<BODY>
<input type="file" name="file1" id="file1" size="40" onchange="changeSrc(this)"/>
<input type="text" size="4" value="10" name="hndnn" id="fileSizeLimit"/> K
</BODY>
</HTML>这样放置运行正确,但把<img src="about:blank" id="fileChecker" alt="test" height="18"/>放入BODY中时就不行了,好象是因为oFileChecker取不到值,document.getElementById("fileChecker")定义有错吗????
<HEAD>
<TITLE></TITLE>
<img src="about:blank" id="fileChecker" alt="test" height="18"/>
<script type="text/javascript">
var oFileChecker = document.getElementById("fileChecker");
function changeSrc(filePicker)
{
oFileChecker.src = filePicker.value;
}
oFileChecker.onreadystatechange = function ()
{
if (oFileChecker.readyState == "complete")
{
checkSize();
}
}
function checkSize()
{
var limit = document.getElementById("fileSizeLimit").value * 1024; if (oFileChecker.fileSize > limit)
{
alert("too large");
}
else
{
alert("ok");
}
}
</script>
</HEAD>
<BODY>
<input type="file" name="file1" id="file1" size="40" onchange="changeSrc(this)"/>
<input type="text" size="4" value="10" name="hndnn" id="fileSizeLimit"/> K
</BODY>
</HTML>这样放置运行正确,但把<img src="about:blank" id="fileChecker" alt="test" height="18"/>放入BODY中时就不行了,好象是因为oFileChecker取不到值,document.getElementById("fileChecker")定义有错吗????
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<img src="about:blank" id="fileChecker" alt="test" height="18"/>
<input type="file" name="file1" id="file1" size="40" onchange="changeSrc(this)"/>
<input type="text" size="4" value="10" name="hndnn" id="fileSizeLimit"/> K
</BODY>
</HTML>
<script type="text/javascript">
var oFileChecker = document.getElementById("fileChecker");
function changeSrc(filePicker)
{
oFileChecker.src = filePicker.value;
}
oFileChecker.onreadystatechange = function ()
{
if (oFileChecker.readyState == "complete")
{
checkSize();
}
}
function checkSize()
{
var limit = document.getElementById("fileSizeLimit").value * 1024; if (oFileChecker.fileSize > limit)
{
alert("too large");
}
else
{
alert("ok");
}
}
</script> 这样就可以了,记得给分呀
var oFileChecker = document.getElementById("fileChecker");这句话写在上面了,而且他在函数外面,所以,当页面开始加载时,会去解析生成这样一个对象.可是此时页面没有加载完成,document对象不存在呢.只有在页面加载完成以后才有docuement对象.
具体怎么写,自己应该多想想,呵呵