Avatar billede tblaster Nybegynder
10. september 2005 - 10:57 Der er 8 kommentarer og
1 løsning

JS: Undersøge om en url er til et billede

Hejsa

Jeg har pt. føglende javascript kode:

pic = document.MyForm.url.value;
if (pic == "http://" || pic == "") {
    alert("Du har ikke angivet nogen sti")
}
else {
    urlen = "http://www.et.dk
        open_editwin(urlen,"1","700","650","100","100","yes");
}

Jeg skal have lidt hjælpt til at udbygge den således at hvis "pic" stien ikke er til et billede (gif, bmp, jpg, jpeg og lign.) så skal brugeren få en alert med at han ikke har valgt et billede.

På forhånd tak
Avatar billede softspot Forsker
10. september 2005 - 11:04 #1
var picParts = pic.split(".");
if(("," + picParts[picParts.length] + ",").indexOf(",jpg,jpeg,bmp,gif,") == -1)
  alert("Det er ikke en billedefil");
Avatar billede softspot Forsker
10. september 2005 - 11:08 #2
Og hvis den skal kunne håndtere case-insensitive filnavne, kan man jo konvertere extension-delen til små bogstaver:

var picParts = pic.split(".");
if(("," + picParts[picParts.length] + ",").toLowerCase().indexOf(",jpg,jpeg,bmp,gif,") == -1)
  alert("Det er ikke en billedefil");
Avatar billede tblaster Nybegynder
10. september 2005 - 11:09 #3
Har sat det sammen således:

pic = document.MyForm.url.value;
if (pic == "http://" || pic == "") {
    alert("Du har ikke angivet nogen sti")
}
else {
    var picParts = pic.split(".");
    if (("," + picParts[picParts.length] + ",").indexOf(",jpg,jpeg,bmp,gif,") == -1)
    {
        alert("Du har ikke valgt nogen billedfil");
    }
    else
    {
          urlen = "http://www.et.dk
        open_editwin(urlen,"1","700","650","100","100","yes");
    }
}

Men jeg får nu en besked om at det ikke er en billedefil ligemeget om det er eller ikke er.
Avatar billede softspot Forsker
10. september 2005 - 11:12 #4
Ja, det er muligvis fordi jeg er mega træt! :)

Det er naturligvis omvendt man skal søge (sorry):

var picParts = pic.split(".");
if((",jpg,jpeg,bmp,gif,").indexOf("," + picParts[picParts.length].toLowerCase() + ",") == -1)
  alert("Det er ikke en billedefil");
Avatar billede tblaster Nybegynder
10. september 2005 - 11:16 #5
Nu laver javascriptet ikke noget, lige meget om man vælger en gyldig eller ikke gyldig fil. (Dog melder den stadig fejl hvis urlen er tom.)
Avatar billede softspot Forsker
10. september 2005 - 11:30 #6
Som nævnt er jeg lidt træt... man skal trække e´n fra længden for at få fat i det sidste element.

var picParts = pic.split(".");
if((",jpg,jpeg,bmp,gif,").indexOf("," + picParts[picParts.length-1].toLowerCase() + ",") == -1)
  alert("Det er ikke en billedefil");
Avatar billede tblaster Nybegynder
10. september 2005 - 11:34 #7
Super! Det hjalp! Mange tak ... smid endelig et svar!
Avatar billede softspot Forsker
10. september 2005 - 11:37 #8
Velbekomme :)

Det hjælper lidt når man lige stopper op og tænker over hvad man skriver - jeg er da glad for at jeg trods alt kom frem til en brugbar løsning :)
Avatar billede softspot Forsker
10. september 2005 - 11:41 #9
Tak for point :)
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