2017-01-03 77 views
2

我试图在上传文件之前立即检查文件扩展名,并显示如果不允许扩展名(只允许PDF)的消息,如下所示: 这里是添加的脚本当前PHP页面:在提交表格之前检查文件扩展名php

<script> 
    function checkExt() { 
     var form_valid = (document.getElementById('fileToUpload').value= "PDF"); 
     if(!form_valid) { 
      alert('only PDF are allowed'); 
      return false; 
     } 
     return true; 
    } 
</script> 

,这里是在体内的形式:(请没有,如果不允许延期我想告诉靠近文件上传浏览按钮的消息没有进入表单动作):

<form onsubmit='return checkExt()' action='AddPlan.php' method='POST' enctype='multipart/form-data' > 

    <input type='file' value="PDF" name='fileToUpload' id='fileToUpload' required> 

    <input type='submit' value='upload' name='submit' style="float:left" /> 
</form> 
+0

我可以知道我的回答没有用吗? –

回答

1
<script> 
function checkExt(){ 
    var allowedFiles = [".pdf"]; 
    var form_valid = document.getElementById("fileToUpload"); 
    var regex = new RegExp("([a-zA-Z0-9\s_\\.\-:])+(" + allowedFiles.join('|') + ")$"); 
    if (!regex.test(form_valid.value.toLowerCase())) { 
     alert('only PDF are allowed'); 
     return false; 
    } 
    return true; 
} 
</script> 
0

请尝试以下:

<input type='file' value="PDF" name='fileToUpload' id='fileToUpload' required> 

进入

<input type='file' value="PDF" name='fileToUpload' id='fileToUpload' accept="application/pdf" required> 

的Javascript:

function checkExt(e){ 
    var fileName = document.getElementById('fileToUpload').value; 
    var ext = fileName.substring(fileName.lastIndexOf('.') + 1); 
    if(ext == "pdf" || ext == "PDF") { 
     return true; 
    }else{ 
     alert('only PDF are allowed'); 
     return false;      
    }  
} 

只只显示PDF文件。

0

function checkExt(){ 
 
    var type = $('#fileToUpload')[0].files[0].type; 
 
    if ($.inArray(type, ['application/pdf']) == -1) { 
 
    return false; 
 
    } 
 
    return true; 
 
}

0

你可以尝试使用File API See MDN连同一些基本的正则表达式测试,如:

<script type='text/javascript'> 
    function checkExt(id){ 
     var fileslist = document.getElementById(id).files; 
     var valid=false; 
     var type,name,size; 
     var pttn_ext=/(\.pdf|\.PDF)/; 
     var pttn_mime=/application\/pdf/; 

     for(var i=0; i < fileslist.length; i++){ 
      type = fileslist[ i ].type; 
      name = fileslist[ i ].name; 
      size = fileslist[ i ].size; 

      if(pttn_ext.test(name) && pttn_mime.test(type)){ 
       valid=true; 
      } 
     } 
     if(!valid)alert('Only PDF files are allowed'); 
     return valid; 
    } 
</script> 



<form name='pdfonly' method='post' action='AddPlan.php' onsubmit='return checkExt("fileToUpload")' enctype='multipart/form-data'> 
    <h1>Only PDF File upload</h1> 
    <input type='file' value="PDF" name='fileToUpload' id='fileToUpload' required> 
    <input type='submit' value='submit' /> 
</form> 
0

你也可以试试这个。 theForm是您的表单ID

function checkExt(){ 
    var extension = theForm.fileToUpload.value.substr(theForm.fileToUpload.value.lastIndexOf('.')); 
    if ((extension.toLowerCase() != ".pdf") && (extension != "")) 
     { 
     alert("Only PDF are allowed"); 
     theForm.FileUpload.focus(); 
     return false; 
     } 
     return true; 

    }