Avatar billede kalaharikid Nybegynder
14. marts 2006 - 14:29 Der er 4 kommentarer og
1 løsning

preview ved flere file form felter før upload javascript

Hej, har fundet dette javascript der laver et preview af et billede i et filfelt i en formular.

http://javascript.internet.com/forms/image-upload-preview.html

Dem skal jeg bruge et varierende antal af og er desværre ikke særlig skrap til javascript.

Hvad skal der til for at scriptet eksempelvis får at vide hvor mange filfelter der skal laves preview af og så viser for hvert felt:

file1 (form felt) = preview1 (image)
file2 (form felt) = preview2 (image)

Altså noget med løkker, så jeg ikke behøver skrive x antal funktioner.
Avatar billede stiness Nybegynder
20. marts 2006 - 09:42 #1
Sådan her måske?:)

<HTML>
<HEAD>
<SCRIPT>
var maxWidth = 100;
var maxHeight = 100;
var fileTypes = ["bmp","gif","png","jpg","jpeg"];
var defaultPic = "spacer.gif";
var pics = new Array();

function preview(what){
    var source = what.value;
    var ext = source.substring(source.lastIndexOf(".") + 1, source.length).toLowerCase();
    for (var i = 0; i < fileTypes.length; i++) {
        if (fileTypes[i] == ext) {
            break;
        }
    }
    pics[what.id] = new Image();
    if (i < fileTypes.length) {
        pics[what.id].src = source;
    } else {
        pics[what.id].src = defaultPic;
        alert("THAT IS NOT A VALID IMAGE\\nPlease load an image with an extention of one of the following:\\n\\n"+fileTypes.join(", "));
    }
    setTimeout("applyChanges('" + what.id + "')",200);
}

function applyChanges(id){
    var field = document.getElementById(id + "_preview");
    var pic = pics[id];
    var x = parseInt(pic.width);
    var y = parseInt(pic.height);
    if (x > maxWidth) {
        y *= maxWidth/x;
        x = maxWidth;
    }
    if (y > maxHeight) {
        x *= maxHeight/y;
        y = maxHeight;
    }
    field.style.display = (x < 1 || y < 1) ? "none" : "";
    field.src = pic.src;
    field.width = x;
    field.height = y;
}
</SCRIPT>
</HEAD>
<BODY>

<input type="file" id="pic1" onchange="preview(this)"><BR>
<img id="pic1_preview" src="spacer.gif">

<BR>

<input type="file" id="pic2" onchange="preview(this)"><BR>
<img id="pic2_preview" src="spacer.gif">

</BODY>
</HTML>
Avatar billede kalaharikid Nybegynder
20. marts 2006 - 20:44 #2
Stiness, det er LIGE PRÆCIS det jeg drømte om. Tusind mange tak. Det har drillet mig en hel masse, og er det sidste jeg mangler for at kunne færdiggøre en uploadløsning. Læg et svar så er der point ;-)
Avatar billede kalaharikid Nybegynder
08. oktober 2006 - 11:24 #3
lukker snart, stiness, vil du slet ikke have dine point?
Avatar billede kalaharikid Nybegynder
16. januar 2007 - 14:14 #4
lukker..
Avatar billede stiness Nybegynder
16. januar 2007 - 14:28 #5
Nå for sulen:D Var slet ikke klar over, at jeg var i betragtning til point;D Er glad for, at du ku bruge svaret!! Det er point nok;} -Stine
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Netcompany A/S

Linux Operations Engineer

Styrelsen for Grøn Arealomlægning og Vandmiljø

Teamleder til Application Management

Ringkjøbing Landbobank – Nordjyske Bank

Forretningsudvikler til procesoptimering

Politiets Efterretningstjeneste

Platform Engineer med flair for MLOPS hos PET