$('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));
}
});
在哪裏,這是造成它不工作的錯誤?
'用strtolower()'是一個PHP函數,而不是一個JavaScript函數。你正在尋找'String.toLowerCase()'(例如'var ext =「TXT」; switch(ext.toLowerCase()){...')。 – 2013-04-26 20:00:50