function checkFile(obj)//obj是你那个file框
{
var sArray=new Array();
sArray.push("gif");
sArray.push("jpg");
sArray.push("jpeg");
 var fileCheck=obj.value;
if(fileCheck!="")
{
var s=fileCheck.match(/^(.*)(\.)(.{1,8})$/)[3];
s=s.toLowerCase();
var bM=false;
for(var i=0;i<=2;i++)
{
 if(s==sArray[i]) bM=true;
}
if(!bM)
{
alert("对应的图片文件格式不正确!请使用jpg/jpeg/gif.");
return false;
}

解决方案 »

  1.   

    我onclick事件要传什么参数么?
      

  2.   

    我是在提交的时候判断的。如果要在选择后做判断,应该写在onchange上吧。
    onchange=checkFile(this)
      

  3.   

    <form name="form" method="post" action="showphoto.php" enctype='multipart/form-data' >
      
         <input type="hidden" name="hid" value="<?php echo $hid ?>"> <input type="hidden" name="ppid" value="<?php echo $pid ?>">
        <tr> 
          <th colspan="2"><font size="4">酒店上传界面</font></th>
        </tr> 
        <tr> 
    <select size="1" name="leixin" onchange="this.form.submit()">
    <? echo $leixin;?>
    </select>
          <td>上传照片:</td>
          <td> 
        <input type="file" name="photo" size='25'>      
          </td>
        </tr>
        <tr> 
          <td  align=right> 
            <input type="submit" name="b2" value="上 传" onclick="checkFile()">      </td>
          <td> 
            <input type="reset" name="Submit2" value="清 除">      </td>
        </tr>
      </table>
    </form>
    这是我的表单,因为有选择类型.所以要刷新本页面.所以不能直接用提交,onclick事件不知道怎么写
    我现在的js..
    <script language="javascript">
    function checkFile()
    {
    document.form.action="updatap.php"; 
        document.form.submit(); 
    }
    </script>
    这段只是做提交动作的..
    不知道你那段怎么加进去能用么
      

  4.   

    showphoto.php是本页 
    updatap.php是提交的页面