<html>
<head>
<script language="javascript">
function cha()
{
if (document.f1.te.value == "")
{
alert("請上傳文件!");
return false;
}
else
{
document.f1.submit();
}
}
</script>
</head>
<body onload="document.f1.te.value == ''">
<form name="f1" action="b.jsp" onsubmit="return cha()">
<input type="file" name="upfile" id="uf" onclick="te.value=''" onchange="te.value = uf.value">
<input type="text" name="te" id=te value=""  style="visibility:'hidden'"><br>
<input type="submit" name="sub" value="確定"></body>
</form>
</html>
具體你再改一改!

解决方案 »

  1.   

    <script language="javascript">
    function check(obj)
    {
    if (obj.upfile.value == "")
    {
    alert("请选择文件!");
    return false;
    }
    document.form1.submit();
    }
    </script>
    <form name="form1" action="b.jsp" onsubmit="return check(this)">
    <!--这里让用户只能通过选择来上传文件,不能输入\粘贴-->
    <input type="file" name="upfile" onKeyPress="return false;" onPaste="return false;">
    <input type="submit" name="sub" value="确定">
      

  2.   

    to xunyiren :当file没有操作过的时候,他的value是空的吗?可是我的javascript里写的
    if(document.form1.upfile.value =="")这个判断不管有没有选择过文件都是错的
      

  3.   

    to zhaoxunyong:我把你的代码改了一下:<input type=file name=upfile id="uf" onclick="te.value='0'" onChange="te.value='1'"><input type="text" name="te" id=te value=""  style="visibility:hidden">发现,onclick事件是响应的,即点击浏览隐藏text的值变为0,但是onchange事件不响应,这是怎么回事啊?