0
var $imagefile = $('<input />')
.attr({
type: 'file',
name: 'imageFile',
id: 'imageFile'
});
위의 내용은 파일 입력을 생성하는 코드입니다.파일 입력이 비어 있으면 경고를 표시하지 않는 방법은 무엇입니까?
function validation() {
var marks = parseInt($("#total-weight").text());
var _qid = "";
var _msg = "";
var allowedTypes = ["jpg", "jpeg", "gif", "png"];
var path = $("#imageFile").val();
var ext = path.substring(path.lastIndexOf('.') + 1).toLowerCase();
var alertValidation = "";
// Note, this is just so it's declared...
$("tr.optionAndAnswer").each(function() {
_qid = $("td.qid",this).text();
_msg = "You have errors on Question Number: " + _qid + "\n";
$("#imageFile",this).each(function() {
if ($.inArray(ext, allowedTypes) < 0) {
alertValidation += '\n\u2022 Unsupported file type';
}
if (alertValidation != "") {
return false; //Stop the each loop
}
});
if(alertValidation != ""){
return false;
}
});
if (alertValidation != "") {
alert(_msg + alertValidation);
return false;
}
return true;
}
지금이 파일 형식이 정확하고 잘못된 인 인식하여 잘 작동 : 아래
는 파일 형식이 테이블 행에 맞는지 확인하는 코드입니다. 문제는 모든 테이블 행에서 사용자가 파일을 선택하지 않으면 잘못된 경고가 발생한다는 것입니다.사용자가 파일을 선택하지 않은 빈 파일 입력을 허용하려면 어떻게해야합니까? 에서
안녕하세요, 하나의 작은 질문입니다. 파일 입력이있는 두 개의 테이블 행이있는 경우 첫 번째 행의 비트 맵 파일과 두 번째 행의 PNG 비트 맵 파일을 선택하면 실제로는 경고가 표시되지 않습니다. 비트 맵이기 때문에 첫 번째 행에 대한 경고를 표시합니다. 왜이 행에 대해 경고 메시지가 표시되지 않습니까? – user1182476
파일 유형 선택기에'id' 속성을 사용하는 것과 관련이 있다고 생각합니다. 페이지 당 한 번만'id'를 가질 수 있고, 둘 이상이면'IDS'가 DOM의 이전 ID를 대체합니다. 따라서 귀하의 예에서 두 번째 파일 유형 입력 **에는 ** 유효한 파일 형식이 있으므로 경고가 표시되지 않습니다. 그게 도움이 되니? – daniel0mullins
#imageFile을 .imageFile로 변경했지만 여전히 동일한 문제가 있습니다. 첫 번째 행이 비트 맵이고 두 번째 행이 png 인 경우 오류를 표시하지만 다른 방향으로 돌아 가면 오류가 표시되지 않습니까? – user1182476