2015-06-29 26 views
0

我確認上傳的照片爲JPG或不作爲下面的代碼jQuery的validationg jpg擴展通行證的任何文件擴展名

<input type="file" name="pic" id="pic" /> 

var fileName = $('#pic').val(); 
alert(fileName); //give result c:\fakepath\123.xls 
if (fileName != '') { 
    alert("Entered if"); 
    var ext = $('#pic').val().split('.').pop().toLowerCase(); 
    if (ext != 'jpg') { 
     error = 1; 
     alert(error); 
    } 
} 

如果我選擇這驗證通過的任何文件。所以我提出了兩個警報。現在第一個警報將顯示選定的文件路徑。但任何如何不進入if條件,所以第二次警報不這樣做,沒有檢查擴展正在發生。因爲文件名顯示文件路徑,以便它不等於'

+0

你能提供plnkr嗎? –

+0

@AnikIslamAbhi沒有得到你對不起 – Sachu

+0

在這裏提供你的代碼jsfiddle.net並提供鏈接 –

回答

1

嘗試這樣

$(function() { 

    $("#click").on("click", function() { 
     var fileName= $('#image').val();  
     alert(fileName); 
     if (fileName != '') { 
      alert("Entered if"); 
      var ext = fileName.split('.').pop().toLowerCase(); 
      if (ext != 'jpg') { 
       error = 1; 
       alert(error); 
      } 
     } 

    }); 

}); 

Fiddle

+0

我didn如果它是帶split()行的probelm,那麼爲什麼不在之前提醒該字符串? – Sachu

+0

http://jsfiddle.net/cncq05ne/ –

+0

感謝您的幫助解決 – Sachu

2
我已經使用這個

如果條件是真的......對我的作品

HTML ...

Picture <input type="file" id="pic" onchange="pic_val()" > 

JS ..

function pic_val() 
{ 
    var fileName = $('#pic').val(); 
    alert(fileName); 
    if (fileName != '') { 
     alert("Entered if"); 
     var ext = $('#pic').val().split('.').pop().toLowerCase(); 
     if (ext != 'jpg') 
     { 
     error = 1; 
     alert(error); 
     } 
     else 
     { 
      alert("Valid FIle"); 
     } 
    } 
} 
+0

感謝您的幫助。它解決了 – Sachu