Avatar billede dugi Nybegynder
02. juni 2007 - 13:43 Der er 6 kommentarer

regexp - Virker fint i FF men returnere kun NULL i IE7 (sadface)

Hej alle,

Jeg har siddet hele natten og kæmpet med at lave et drag'n'drop script vha. scriptaculous.

Endelig får jeg det til at virke. Men da jeg så ville teste det i IE7, så virkede min regexp lige pludselig ikke.

IE kommer med en fejl: '1' er null eller ikke et object.
Hvilket jo er underligt, når det virker uden problemer i Firefox?.


################################
Regular Expression
################################

Mit subject som jeg skal lave en match på, ser således ud:
----------------------------------------------------------------
<img src="http://www.dugi.dk/images/icons/flags/{$info.iso}.png" style="width: 16px; height: 11px; float: left; margin: 5px" title="Danish" alt="Danish"/>
----------------------------------------------------------------

Jeg skal hente det, der står indholdet af src="" og title="".
Min regexp ser således ud (den som virker i FF):

var pattern = /src="([a-zA-Z0-9/.:]*)".*title="([a-zA-Z0-9/.:]*)"/im;
var match = pattern.exec(element.innerHTML);

Håber virkelig at der er nogen der kan hjælpe mig. Vil virkelig gerne snart ha' det her til at virke :(

På forhånd, TUSIND tak!

Med venlig hilsen
Morten Rugaard

PS: Det skal lige siges, at jeg ikke er ekspert i hverken JavaScript eller Regular Expressions :)
Avatar billede dugi Nybegynder
02. juni 2007 - 13:44 #1
{$info.iso} er selvfølgelig iso-koden på flaget.
f.eks. "dk","se","no","uk" eller lign. - glemte jeg lige at ændre.
Avatar billede erikjacobsen Ekspert
02. juni 2007 - 14:33 #2
Det her ser da ud til at virke. Mon ikke fejlen er et andet sted:

  ss = '<img src="http://www.dugi.dk/images/icons/flags/dk.png" style="width: 16px; height: 11px; float: left; margin: 5px" title="Danish" alt="Danish"/>';

  var pattern = /src="([a-zA-Z0-9/.:]*)".*title="([a-zA-Z0-9/.:]*)"/im;
  var match = pattern.exec(ss);

  alert(RegExp.$1 + " og " + RegExp.$2);
Avatar billede dugi Nybegynder
02. juni 2007 - 15:10 #3
Hej erik,

Tak for dit hurtige svar.

Ja det burde virke, men forstår ikke hvor fejlen skulle ligge. Du kan prøve selve funktionen selv her:
http://www.dugi.dk/admin/dvd/add/ - ved godt, der er en masse små kosmetiske fejl osv. men det er selve drag'n'drop funktionen i bunden. Prøv at trække et flag ind i language-pool'en. Så laver den en fejl og fejlbeskrivelsen siger den er null.

:( :( :(

Det virker uden problemer i Firefox!
Avatar billede erikjacobsen Ekspert
02. juni 2007 - 16:35 #4
Nu tør jeg ikke bruge en fremmed side i IE, men jeg tror du vil have gavn af at udskrive element.innerHTML med en alert. Det tror jeg vi alle vil blive lidt klogere af ;)
Avatar billede dugi Nybegynder
02. juni 2007 - 17:17 #5
Hvorfor tør du ikke det? :s
Avatar billede olebole Juniormester
04. juni 2007 - 13:19 #6
<ole>

- fordi IE engang var markedets mest hullede browser. Det var dog før Mozilla overtog Netscape og destruerede deres engang så fine software. Idag er FF desværre:

-- ligeså proprietær som IE
-- ligeså fyldt med alvorlige fejl som IE (på mange områder langt værre)
-- ligeså plaget af alvorlige sikkerhedshuller som IE

/mvh
</bole>
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

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