Check på Input:File felt
Hej derude,Jeg vil først gerne starte med at sige jeg ingen erfaring har med JavaScript, men var så modig som at tro det kunne jeg godt gennemskue :o(
Jeg har i nedenstående script fået alt til at virke med undtagelse af afsnittet med "Basic validation for Photo"
Er der nogen der kan se hvad der går galt? Det er sat op til at jeg ved hjælp af en knap kan tilføje så mange input:file felter som jeg ønsker, deraf "addFileUploadBox.lastAssignedId"
Jeg ønsker at checke for om der er valgt en fil i input:file og at den valgte fil er af typen .gif, .jpg. osv. før der genereres et nyt felt.
<script type="text/javascript">
function addFileUploadBox() {
if (!document.getElementById || !document.createElement)
return false;
var _divUploadMessage = document.getElementById("divUploadMessage");
var _pararaphUploadArea = document.getElementById("pararaphUploadArea");
if (!_pararaphUploadArea)
return;
//Check and assign new FileboxID
if (!addFileUploadBox.lastAssignedId)
addFileUploadBox.lastAssignedId = 100;
//Basic validation for Photo
var filPhoto = document.getElementById("filebox" + addFileUploadBox.lastAssignedId);
if (filPhoto.value.length == 0) {
alert("Please fill out your name.\n");
_divUploadMessage.innerHTML = '<span style=\"color:#ff0000\">Please specify the file.</span>';
_divUploadMessage.style.display = '';
filPhoto.focus();
return;
}
var regExp = /(.*\.([gG][iI][fF]|[jJ][pP][gG]|[jJ][pP][eE][gG]|[pP][nN][gG]|[bB][mM][pP])$)/;
if (!regExp.test(filPhoto.value)) {
_divUploadMessage.innerHTML = '<span style=\"color:#ff0000\">Invalid file type. Only supports jpg, gif, png and bmp.</span>';
_divUploadMessage.style.display = '';
filPhoto.focus();
return;
}
// Add new br and box
var newLine = document.createElement("br");
_pararaphUploadArea.appendChild(newLine);
var newUploadBox = document.createElement("input");
// The new box needs a name and an ID
// Set up the new input for file uploads
newUploadBox.type = "file";
newUploadBox.size = "45";
addFileUploadBox.lastAssignedId++;
newUploadBox.setAttribute("id", "filebox" + addFileUploadBox.lastAssignedId);
newUploadBox.setAttribute("name", "filebox" + addFileUploadBox.lastAssignedId);
_pararaphUploadArea.appendChild(newUploadBox);
}
</script>