Avatar billede bongii Nybegynder
09. december 2008 - 09:04 Der er 14 kommentarer og
1 løsning

Hent numeriska værdier fra URL og brug værdien i et link

Hejsa.

Jeg har en html side: "ef2-fddddd-c-11111p.html"

Hvordan kan jeg via javascript udtrække "11111" og skrive det i et link:
<a href="site.asp?ID=11111">link</a> ?
Avatar billede olebole Juniormester
09. december 2008 - 10:27 #1
<ole>

Nu går jeg ikke udfra, du kun skal bruge det på den ene side, så vi er nødt til at kende det helt nøjagtige mønster for filnavngivningen. Står der f.eks. altid 'ef2-fddddd-c-' foran tallet og 'p.html' efter? Hvis nej - hvad så?

/mvh
</bole>
Avatar billede bongii Nybegynder
09. december 2008 - 10:43 #2
Hej Ole.

Urlén består altid af:
navn-"6 tilfældige tal"p.html

f.eks:
test-test-test-111111p.html
test-122222p.html
test-133333p.html

Så det er altid det 6 cifrede tal mellem "-" og "p.html" jeg skal bruge.
Avatar billede olebole Juniormester
09. december 2008 - 10:54 #3
Noget i stil med:

<script type="text/javascript">
var oLnk = document.createElement("a");
/^(?:.*?)-([0-9]{6})p.html$/.test(location.href);
oLnk.setAttribute("href", "site.asp?ID="+RegExp.$1);
oLnk.appendChild( document.createTextNode("Et lillebitte link") );
document.getElementsByTagName("body")[0].appendChild(oLnk);
</script>

Jeg har lavet et helt nyt link, da jeg ikke ved, om tallet skal skrives ind i et allerede bestående link  =)
Avatar billede bongii Nybegynder
09. december 2008 - 11:44 #4
yes det var lige sådan jeg havde forestillet mig det.

Men jeg har et lille problem med at lave tekst-linket om til et billede og kalde en popup ved click:

onclick="window.open('site.asp?ID="+RegExp.$1','site','width=500,height=150');return false;"
Avatar billede olebole Juniormester
09. december 2008 - 12:50 #5
Du må nok lige forklare, hvad det er, du vil ... I haven't got a clue!  ;o)
Avatar billede bongii Nybegynder
09. december 2008 - 14:04 #6
hee. sorry.

Linket skal være et billede og skal åbne i en popup.

Altså normalt ville det se ud som:
<a href="#" onclick="window.open('site.asp?ID=ID FRA URL')"><img src="logo.gif"></a>
Var det bedre :)
Avatar billede bongii Nybegynder
10. december 2008 - 10:31 #7
jeg har prøvet <a href="#" onclick="/^(?:.*?)-([0-9]{6})p.html$/.test(location.href);window.open('site.asp?ID='+RegExp.$1)"><img src="logo.gif"></a>

Det virker også fint, men ikke så godt som den du har lavet.

Hvordan får jeg det flettet ind i:
<script type="text/javascript">
var oLnk = document.createElement("a");
/^(?:.*?)-([0-9]{6})p.html$/.test(location.href);
oLnk.setAttribute("href", "site.asp?ID="+RegExp.$1);
oLnk.appendChild( document.createTextNode("Et lillebitte link") );
document.getElementsByTagName("body")[0].appendChild(oLnk);
</script>
Avatar billede olebole Juniormester
10. december 2008 - 10:50 #8
Dit eget forsøg virker helt fint, hvis filen har seks ciffre i navnet. Det betyder, at filnavnet i dit spørgsmål (med fem et-taller) ikke vil kunne bruges  ;o)
Avatar billede bongii Nybegynder
10. december 2008 - 11:13 #9
Ja, men Den giver problemer hvis linket ser således ud:
test-122222p.html#

Desuden er det en onclick, så google kan ikke finde linket.
Avatar billede olebole Juniormester
10. december 2008 - 11:21 #10
Så sletter du bare $ i slutningen af RegExp'en. Det er ligegyldigt, om det er en onclick eller, hvad det er. Google kan jo ikke læse JavaScript og vil derfor aldrig finde en adresse, skrevet med JS  ;o)
Avatar billede bongii Nybegynder
10. december 2008 - 11:43 #11
Skøre Google :)

Tak for hjælpen. Smider du et svar?
Avatar billede bongii Nybegynder
10. december 2008 - 12:03 #12
Kan du se hvorfor dette ikke gider åbne i et nyt vindue?

<a href="#" onclick="/^(?:.*?)-([0-9]{6})p.html/.test(location.href);window.open('site.asp?ID='+RegExp.$1,'width=500,height=150')"><img src="fiat.jpg" border="0"/></a>

Denne virker fint nok, så strukturen må være korrekt:
<a href="#" onclick="window.open('dokument.htm','mitvindue','width=500,height=150')">test</a>
Avatar billede olebole Juniormester
10. december 2008 - 12:24 #13
Andet argument i en window.open (og den skal altid kaldes med mindst to argumenter) er window objektets name - og det kan jo ikke være 'width=500,height=150':

<a href="#" onclick="/^(?:.*?)-([0-9]{6})p.html/.test(location.href);window.open('site.asp?ID='+RegExp.$1,'myWin','width=500,height=150')"><img src="fiat.jpg" border="0"/></a>
Avatar billede bongii Nybegynder
10. december 2008 - 13:06 #14
ahh Takker :)
Avatar billede olebole Juniormester
10. december 2008 - 13:09 #15
Selvtak - og tak for points  ;o)
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