2013-04-26 91 views
1
$('INPUT[type="file"]').change(function() { 
var ext = this.value.match(/\.(.+)$/)[1]; 
var control = $("#uploaded_file"); 
switch (ext) { 
    case 'doc': 
    case 'docx': 
    case 'pdf': 
    case 'wps': 
    case 'rtf': 
    case 'txt': 
    case 'xps': 
     $('#uploadButton').attr('disabled', false); 
     break; 
    default: 
     alert('\'' + ext + '\' is not an allowed file type.\n\nPlease select the correct file type:\n\n\t.DOC, .DOCX, .PDF, .WPS, .RTF, .TXT, .XPS'); 
     $('#uploadButton').attr('disabled', true); 
     control.replaceWith(control = control.val('').clone(true)); 
    } 
}); 

現在我的問題是,如果用戶選擇具有「.TXT」文件會拋出異常錯誤,因爲TXT是不一樣的TXT,所以我嘗試使用strtolower功能。但是當我使用它時,腳本本身不起作用。檢查文件類型文件的jQuery

改性用strtolower腳本不起作用:

$('INPUT[type="file"]').change(function() { 
var ext = this.value.match(/\.(.+)$/)[1]; 
    var cext = strtolower(ext); 
var control = $("#uploaded_file"); 
switch (cext) { 
    case 'doc': 
    case 'docx': 
    case 'pdf': 
    case 'wps': 
    case 'rtf': 
    case 'txt': 
    case 'xps': 
     $('#uploadButton').attr('disabled', false); 
     break; 
    default: 
     alert('\'' + cext + '\' is not an allowed file type.\n\nPlease select the correct file type:\n\n\t.DOC, .DOCX, .PDF, .WPS, .RTF, .TXT, .XPS'); 
     $('#uploadButton').attr('disabled', true); 
     control.replaceWith(control = control.val('').clone(true)); 
    } 
}); 

在哪裏,這是造成它不工作的錯誤?

+2

'用strtolower()'是一個PHP函數,而不是一個JavaScript函數。你正在尋找'String.toLowerCase()'(例如'var ext =「TXT」; switch(ext.toLowerCase()){...')。 – 2013-04-26 20:00:50

回答

3

我不相信strtolower()是一個Javascript函數。嘗試string.toLowerCase()

var cext = ext.toLowerCase(); 

Live sample

文檔https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/toLowerCase

+1

是的,但請考慮鏈接到較少...有爭議的來源爲您的支持引用。基本上,W3Schools [因各種原因而不喜歡](http://w3fools.com/)。試試[Mozilla的開發者網絡文檔](https://developer.mozilla.org/en-US/docs/CSS)。 – 2013-04-26 20:03:41

+0

@DavidThomas,注意到。 – 2013-04-26 20:05:41

+1

對不起,我對這個編碼很感興趣......我把JavaScript和JavaScript混在一起......大聲笑......我看到錯誤!謝謝 – Si8 2013-04-26 20:29:34