文件类型验证!!用于生成的输入文件标记元素 JSP: ---- 输入id=“file5”type=“file”path=“files”name=“files”size=“40”/>其他文档 Javascript: ----------- var项目=1; 函数AddItem(){ var div=document.getElementById(“项目”); var按钮=document.getElementById(“添加”); 项目++; newitem=“”; newitem+=“其他文件”; newitem+=“”; newnode=document.createElement(“div”); setAttribute(“id”、“子项”+项); newnode.innerHTML=newitem; div.insertBefore(新建节点,按钮); } 函数deletethisRow(obj){ var fileElement=document.getElementById(“文件”+obj); var buttonElement=document.getElementById(“delButton”+obj); var childDivName=“child”+obj; 如果(按钮元素){ var child=document.getElementById(childDivName); var parent=document.getElementById(“项目”); 父母。removeChild(子女); } } ---

文件类型验证!!用于生成的输入文件标记元素 JSP: ---- 输入id=“file5”type=“file”path=“files”name=“files”size=“40”/>其他文档 Javascript: ----------- var项目=1; 函数AddItem(){ var div=document.getElementById(“项目”); var按钮=document.getElementById(“添加”); 项目++; newitem=“”; newitem+=“其他文件”; newitem+=“”; newnode=document.createElement(“div”); setAttribute(“id”、“子项”+项); newnode.innerHTML=newitem; div.insertBefore(新建节点,按钮); } 函数deletethisRow(obj){ var fileElement=document.getElementById(“文件”+obj); var buttonElement=document.getElementById(“delButton”+obj); var childDivName=“child”+obj; 如果(按钮元素){ var child=document.getElementById(childDivName); var parent=document.getElementById(“项目”); 父母。removeChild(子女); } } ---,javascript,jquery,ajax,file,validation,Javascript,Jquery,Ajax,File,Validation,上面是JSP代码和JavaScript片段。。我正在尝试验证输入文件 我想只允许上传jpg、png、pdf、doc、docx文件类型?? 关于如何实现这一点有什么想法吗 感谢和问候, Satish Krishnamurthy您可以更改输入标签: JSP: ---- <div ID="items"> input id="file5" type="file" path="files" name="files" size="40" /> Other documents &l

上面是JSP代码和JavaScript片段。。我正在尝试验证输入文件

我想只允许上传jpg、png、pdf、doc、docx文件类型?? 关于如何实现这一点有什么想法吗

感谢和问候,

Satish Krishnamurthy

您可以更改输入标签:

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>  

---

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

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

这将检查文件的扩展名…尚未测试代码,但

accept属性在某些浏览器中不起作用。。我试过FF(最新版本)它对我不起作用你说得对。似乎他们删除了新版本中的功能。。。不会改变您应该在服务器上检查它的事实。同意!我是javascript新手。。你能告诉我如何实现服务器端验证吗?谷歌上有很多网站。检查,例如,我尝试了这个,但我正在通过javascript动态生成id。因此,如果我的Javascript找不到输入文件标签IDNo.7的值,即未创建的id=“file7”,那么整个代码将失败。。。。当我在firefox中调试时,我注意到。。在“输入文件”字段上悬停时,它没有显示id。它只显示“input”,而应该显示“input#file3”或“input#file4”等。如果未创建元素,则document.getElementById('elementNotCreated')将返回null。您可以检查NOTNULL,然后执行脚本的其余部分。您还可以拥有一个全局变量,并在验证函数中创建和使用该变量时添加文件名。Nope。。getElementById('elementNotCreated')将使整个脚本失败。它不会被执行。。
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;
}
}