页面上有一个<input type=file />。我想实现这样一个效果:在选择文件之后,通过JavaScript判断文件的格式是否合法,如不合法,再次自动弹出选择文件的对话框。
      请问该如何实现呢?

解决方案 »

  1.   

    这个好像无法兼容,除了ie外,其它的只能清空:<input type="file" onchange="checkExt(this)"/><script type="text/javascript"> 
    var checkExt=function(file) {
        if(!(/(?:jpg|gif)$/i.test(file.value))) {
            alert("只允许上传jpg和gif的图片");
            if(window.ActiveXObject) {//for IE
                file.select();//select the file ,and clear selection
                document.selection.clear();
    file.click();//这句只有ie下有用
            } else if(window.opera) {//for opera
                file.type="text";file.type="file";
            } else file.value="";//for FF,Chrome,Safari
        } else {
            alert("ok");//or you can do nothing here.
        }
    };
    </script>
      

  2.   

    另外还有一个办法:
    document.forms[0].elements[5].outerHTML=document.forms[0].elements[5].outerHTML;
    也能实现清空效果,但我不明白是什么意思。