webForumDet fria alternativet
Logga in / Bli medlem

Dynamisk länk med javascript

JavaScript

7 svar · 311 visningar · startad av NETwork

Medlem sedan juni 20011 732 inlägg
Trådstart#1

Jag har en sökfunktion i en frame och sökresultatet ska öppnas i en annan frame. Jag skulle behöva lite hjälp med att skriva ett javascript som gör en länk dynamisk, själva "söklänken" ska alltså lägga på en querystring dynamiskt beroende på vad besökaren skrivit in i sökrutan (exempelvis searchresult.asp?seek="söktexten").

Medlem sedan sep. 20021 655 inlägg
#2
<script type='text/javascript'>
function link(query){
window.location = "searchresultat.asp?seek=" + query;
}
</script>

<a href="javascript: link('abc123')">Sök efter abc123</a>

Det finns en javascript-funktion som gör om specialtecken till deras hexadecimala (?) kod (t ex mellanslag görs om till %20), som du bör använda innan location ändras, men jag kan tyvärr inte komma på vad den heter.

Medlem sedan juni 20014 421 inlägg
#3

escape heter den

Medlem sedan sep. 20021 655 inlägg
#4

Tack, colione.

NETwork, funktionen ser då ut så här:

<script type='text/javascript'>
function link(query){
window.location = "searchresultat.asp?seek=" + escape(query);
}
</script>

Och anropas genom:

<a href="javascript: link('abc123åäö')">Sök efter abc123åäö</a>

Där ska INTE vara något mellanrum mellan "java" och "script". Jag har ingen aning om varför det hamnar där - jag skriver det som ett ord.

Medlem sedan juni 20014 421 inlägg
#5

dectgap skrev:

Tack, colione.

NETwork, funktionen ser då ut så här:

<script type='text/javascript'>
function link(query){
window.location = "searchresultat.asp?seek=" + escape(query);
}
</script>

Och anropas genom:

<a href="javascript: link('abc123åäö')">Sök efter abc123åäö</a>

Där ska INTE vara något mellanrum mellan "java" och "script". Jag har ingen aning om varför det hamnar där - jag skriver det som ett ord.

Det är fel i vBulletin

Medlem sedan juni 20011 732 inlägg
#6

Tack alla! :) Men hur sätter man en target i javascriptet? Jag ska öppna själva resultatet i en annan frame.

Medlem sedan juni 20011 732 inlägg
#7

Jag har även problem att få ut texten från mitt textfält. Försöker göra så här:

function test() {
alert(document.myForm.SeekTB.Text)
}
Har även provat men Value... får bara fram att den är odefinierad trots att den finns i koden. :(

<input type="text" name="SeekTB" id="SeekTB" />

Medlem sedan juni 20011 732 inlägg
#8

Ah, löste det... liten bokstav på value skulle det ju vara. :) Behöver dockl fortfarande hjälp med en target...

/red

Fixade det också. :) document.parent.frame.location

266 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)