/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Id fra url
Fra : Bjerrum


Dato : 02-01-04 17:22

Hvordan får jeg værdien af id fra url 'en?

http://www.v41.dk?id=1234

Har prøvet med:

<script language="javascript" type="text/javascript">
var id = document.search.id.value;
document.write(id);
</script>

Hvad skal jeg lede efter?

Bjerrum



 
 
Lasse Reichstein Nie~ (02-01-2004)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 02-01-04 17:52

"Bjerrum" <sb@[slet]plugworks.net> writes:

> Hvordan får jeg værdien af id fra url 'en?
>
> http://www.v41.dk?id=1234
>
> Har prøvet med:
>
> <script language="javascript" type="text/javascript">
> var id = document.search.id.value;
> document.write(id);
> </script>
>
> Hvad skal jeg lede efter?

Du finder strengen i location.search, men det er some en
streng.

Her er en generel funktion til at håndtere search-delen af en url:

---
function parseSearch(searchString) { // argument optional
searchString = searchString || location.search;
var lookupTable = new Object();
var search = searchString.substr(searchString.indexOf("?")+1);
search = search.replace(new RegExp("\\+","g")," ");
var assigns = search.split("&");
for (var i=0;i<assigns.length;i++) {
var parts = assigns[i].split("=");
lookupTable[unescape(parts[0])] = unescape(parts[1]);
}
return lookupTable;
}
---
Funktionen laver en tabel over de ting der står i search, så du kan
bruge den til at slå op i senere.

Du kan bruge den som:
---
var search = parseSearch();

document.write(search.id);
---


/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Bjerrum (02-01-2004)
Kommentar
Fra : Bjerrum


Dato : 02-01-04 18:36

Hej Lasse

Du fik mig på sporet igen

<script language="javascript" type="text/javascript">
document.write(location.href.substr(location.href.indexOf("?")+4));
</script>

Tak
Bjerrum

"Lasse Reichstein Nielsen" <lrn@hotpop.com> skrev
> Her er en generel funktion til at håndtere search-delen af en url:
>
> ---
> function parseSearch(searchString) { // argument optional
> searchString = searchString || location.search;
> var lookupTable = new Object();
> var search = searchString.substr(searchString.indexOf("?")+1);
> search = search.replace(new RegExp("\\+","g")," ");
> var assigns = search.split("&");
> for (var i=0;i<assigns.length;i++) {
> var parts = assigns[i].split("=");
> lookupTable[unescape(parts[0])] = unescape(parts[1]);
> }
> return lookupTable;
> }
> ---
> Funktionen laver en tabel over de ting der står i search, så du kan
> bruge den til at slå op i senere.
>
> Du kan bruge den som:
> ---
> var search = parseSearch();
>
> document.write(search.id);
> ---



Lasse Reichstein Nie~ (02-01-2004)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 02-01-04 18:53

Lasse Reichstein Nielsen <lrn@hotpop.com> writes:

> Her er en generel funktion til at håndtere search-delen af en url:

For fuldstændighed skal et lige siges at den ikke kan håndtere *alt*
der kan sendes fra en HTML-form. Sådanne search-strenge kan indeholde
ting som:
navn.x=42&navn.y=43
eller
navn=a&navn=b

En endnu mere generel funktion er:
---
function addToTable(table,nameArr,value,nameIdx) {
nameIdx = nameIdx || 0;
if (nameIdx == nameArr.length) { // place value here
if (typeof table == "undefined") { return value; }
if (typeof table == "string") { return new Array(table,value); }
table[table.length]=value;
return table;
}
var name = nameArr[nameIdx];
if (typeof table == "undefined") {
table = new Array();
}
table[name] = addToTable(table[name],nameArr,value,nameIdx+1);
return table;
}

function parseSearch(searchString) { // argument optional
searchString = searchString || location.search;
var lookupTable;
var search = searchString.substr(searchString.indexOf("?")+1);
search = search.replace(new RegExp("\\+","g")," ");
var assigns = search.split("&");
for (var i=0;i<assigns.length;i++) {
var parts = assigns[i].split("=");
var name = unescape(parts[0]);
var value = unescape(parts[1]);
var nameParts = name.split(".");
lookupTable = addToTable(lookupTable,nameParts,value);
}
return lookupTable;
}
---
Den laver flere værdier med samme navn om til et array (så
"?name=x&name=y" giver at parseSearch().name er arrayet ["x","y"]),
og hvis et navn indeholder et ".", så laver den et underobjekt,
så "?name.x=42&name.y=43" giver at fx (parseSearch().name.x == 42).

Så kan man så overveje hvornår man for brug for det, men mere generelt
kan det vist ikke blive :)

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste