文件类型验证!!用于生成的输入文件标记元素

时间:2013-01-10 09:57:22

标签: javascript jquery ajax file validation

JSP:
----

<div ID="items">  
input id="file5" type="file" path="files" name="files" size="40" /> Other documents  
</div> 

Javascript:
-----------
<script type="text/javascript">  
             var items=1;  
            function AddItem() {  
                var div=document.getElementById("items");  
                var button=document.getElementById("add");  
                items++;  
                newitem="";  
                newitem+="<input type=\"file\" path=\"files\" name=\"files\"";// + items;  
                newitem+="\"id=file"+items;  
                newitem+="\" size=\"40\"> Other documents";  
                newitem+=" <input type=\"button\" class=\"button\" id=\"delButton"+items;  
                newitem+="\" value=\"\" name=\"button"+items;  
                newitem+="\" onclick=deletethisRow("+items+")>";  
                newnode=document.createElement("div");  
                newnode.setAttribute("id","child"+items);  
                newnode.innerHTML=newitem;  
                div.insertBefore(newnode,button);  
            }  
            function deletethisRow(obj){  
                var fileElement=document.getElementById("file"+obj);  
                var buttonElement=document.getElementById("delButton"+obj);  
                var childDivName="child"+obj;  
                if (buttonElement) {      
                    var child = document.getElementById(childDivName);  
                    var parent = document.getElementById("items");  
                    parent.removeChild(child);   
                }  
             }   
</script>  

---

以上是JSP代码以及JavaScript代码段。我正在尝试验证输入文件....

我想只允许上传jpg,png,pdf,doc,docx文件类型? 有关如何实现这一点的任何想法?

谢谢和问候,
Satish Krishnamurthy

2 个答案:

答案 0 :(得分:0)

您可以更改输入标记:

<input type="file" name="pic" id="pic" accept=".someext, image/gif, image/jpeg" />

但请不要依赖客户端验证。检查服务器端,或者人们可以禁用客户端检查并上传可执行脚本。

答案 1 :(得分:0)

function Checkfilesextension()
{
    var fileToupload = document.getElementById('elementId');
    var fileName = fileToupload .value;
    var ext = fileName.substring(fileName.lastIndexOf('.') + 1);
    ext.toLowerCase

if(ext =="GIF" || other extension) // add other extensions
{
    return true;
}
else
{
    alert("Upload only the allowed files");
    return false;
}
}

这将检查文件的扩展名....虽然没有测试代码