Avatar billede amews_aj Nybegynder
19. november 2004 - 20:11 Der er 23 kommentarer og
1 løsning

Hente ligesom GET i php?

JEg har lavet dette:

function BrowserInit() {
if ( IsOldBrowser()) {
  window.location = "oldbrowser.htm";
  return;
}
if ( location.search != "")
  main.location = location.search.substring( 1);
else if ( IsNetscape())
  main.location = "Side1_ns.htm";
else
  main.location = "Side1_ie.php?musik=";
}

Problemet er at pga. noget jeg skal bruge længere fremme, skal jeg have den til at aflæse hvad der står i adresselinjen efter denne linje:

  main.location = "Side1_ie.php?musik=";

Altså så musik=et eller andet

I php kunne man jo

<? $link = "Side1_ie.php?musik=$_GET['musik']"; ?>

Hvordan kan jeg lave det vha javascript, eller på en anden måde få det ind der?
Avatar billede olebole Juniormester
19. november 2004 - 23:18 #1
<ole>

var vars, tmpVar, loc = location.search;
loc = loc.split("?")[1];
vars = loc.split("&");
for (i=0; i<vars.length; i++) {
  tmpVar = vars[i].split("=");
  if (tmpVar[0]=="musik") {
      alert("musik: " + tmpVar[1]);
      break;
  }
}

/mvh
</bole>
Avatar billede olebole Juniormester
19. november 2004 - 23:19 #2
:)
Avatar billede amews_aj Nybegynder
19. november 2004 - 23:27 #3
JEg kan ikke få det til at fungere

Den siger log ikke er defineret eller lig null!
Avatar billede olebole Juniormester
19. november 2004 - 23:53 #4
Hvis den siger det, har du skrevet forkert et sted. Jeg har ikke skrevet 'log' ... kan det være fejlen? Hvilken linie kommer fejlen i?
Avatar billede amews_aj Nybegynder
20. november 2004 - 00:03 #5
nej hov mente loc
Avatar billede amews_aj Nybegynder
20. november 2004 - 00:05 #6
vars = loc.split("&");
Avatar billede olebole Juniormester
20. november 2004 - 00:08 #7
Okay ... det er fordi, den bliver kaldt uden query-streng. Prøv denne her, den er 'idiotsikker' ... no offence  :)

<script type="text/JavaScript">
var vars, tmpVar, loc = unescape(location.search);
if (loc.indexOf("?")!=-1) {
    loc = loc.split("?")[1];
    vars = loc.split("&");
    for (i=0; i<vars.length; i++) {
        tmpVar = vars[i].split("=");
        if (tmpVar[0]=="musik") {
            alert("musik: " + tmpVar[1]);
            break;
        }
    }
}
</script>
Avatar billede amews_aj Nybegynder
20. november 2004 - 00:13 #8
ok, og hvordan kan jeg så bruge det i forbindelse med location.replace(''); ??
Avatar billede amews_aj Nybegynder
20. november 2004 - 00:17 #9
Jeg skal have den til at hedde

location.reload('Side1_ie.php?musik=(GET MUSIK)');
Avatar billede olebole Juniormester
20. november 2004 - 02:08 #10
Du må forklare dig noget bedre ... hvad er det, du vil?
Avatar billede olebole Juniormester
20. november 2004 - 03:25 #11
... er det sådan noget:

<script type="text/JavaScript">
var vars, tmpVar, loc = unescape(location.search);
if (loc.indexOf("?")!=-1) {
    loc = loc.split("?")[1];
    vars = loc.split("&");
    for (i=0; i<vars.length; i++) {
        tmpVar = vars[i].split("=");
        if (tmpVar[0]=="musik") {
            location.replace("Side1_ie.php?musik=" + tmpVar[1]);
            break;
        }
    }
}
</script>
Avatar billede amews_aj Nybegynder
20. november 2004 - 10:59 #12
Ja det ser rigtigt ud, men det virker ikke helt, den går til denne side:

http://www.pc-help.dk/Side1_ie.php?musik='%20+%20tmpVar[1]'

Du manglede lidt, har tilføjet det, men det virker ikke!

Ingen fejl, den går bare til mystisk side

<script type="text/JavaScript">
var vars, tmpVar, loc = unescape(location.search);
if (loc.indexOf("?")!=-1) {
    loc = loc.split("?")[1];
    vars = loc.split("&");
    for (i=0; i<vars.length; i++) {
        tmpVar = vars[i].split("=");
        if (tmpVar[0]=="musik") {
            location.replace("Side1_ie.php?musik=' + tmpVar[1]'");
            break;
        }
    }
}
</script>
Avatar billede amews_aj Nybegynder
20. november 2004 - 19:41 #13
Hvad kan være galt? hmm..
Avatar billede sukos Juniormester
20. november 2004 - 19:48 #14
Det er vel noget urldecode() ???

f (loc.indexOf("?")!=-1) {

nyvar = <?php echo urldecode($_SERVER["QUERY_STRING"]);
    loc = loc.split("nyvar")[1];


Men jeg er helt på herrens mark! :O)
Avatar billede amews_aj Nybegynder
20. november 2004 - 19:50 #15
Det virker ikke :P
Avatar billede olebole Juniormester
20. november 2004 - 20:10 #16
Jo, det gør ... du må lave en eller flere fejl, men det er jo ikke til at se, hvad. Scriptet fejler ikke noget  :)
Avatar billede olebole Juniormester
20. november 2004 - 20:12 #17
Jamen, hvad er det da også, du har lavet ...?!!??!! Du skal skrive, hvad jeg skrev ... der manglede ikke noget - men du roder rundt med nogle forkerte gåseøjne. Slet dem, så fungerer det
Avatar billede olebole Juniormester
20. november 2004 - 20:15 #18
Linien skal se sådan ud:
  location.replace("Side1_ie.php?musik=" + tmpVar[1]);
... den er helt, som den skal være
Avatar billede amews_aj Nybegynder
20. november 2004 - 22:33 #19
Jo det virkede, ved ikke hvad jeg gjorde galt før!
Jeg prøvede det nemlig også som du skrev først, men det ville ikke virke, og så lavede jeg om på det, så der må have sneget sig en fejl ind på en måde.

TAkker
Avatar billede amews_aj Nybegynder
20. november 2004 - 22:40 #20
Øhh, undskyld men hvordan kan jeg så tilføje bagefter, at hvis musik ikke er lig musik, så skal den location.replace("Side1_ie.php");

???
Avatar billede olebole Juniormester
20. november 2004 - 22:58 #21
<script type="text/JavaScript">
var vars, tmpVar, loc = unescape(location.search);
if (loc.indexOf("?")!=-1) {
    loc = loc.split("?")[1];
    vars = loc.split("&");
    for (i=0; i<vars.length; i++) {
        tmpVar = vars[i].split("=");
        if (tmpVar[0]=="musik") {
            location.replace("Side1_ie.php?musik=' + tmpVar[1]'");
            break;
        }
    }
    location.replace("Side1_ie.php");
}
</script>
Avatar billede amews_aj Nybegynder
20. november 2004 - 23:00 #22
Den springer bare hele tiden til den side nu!

Har set at du hakopieret den kode jeg lavede med fejl, har kun lavet den der linje med location.replace

Men den springer over det med ?musik=musik nu
Avatar billede amews_aj Nybegynder
20. november 2004 - 23:17 #23
Kan jeg ikke ligesom man ville kunne i php

        if (tmpVar[0]=="musik") {
            location.replace("Side1_ie.php?musik=' + tmpVar[1]'");
            break;
        }else{
location.replace("Side1_ie.php");
}

sådan noget ala det?
Avatar billede amews_aj Nybegynder
20. november 2004 - 23:25 #24
ER det ikke muligt? Skal lige skynde mig lidt!
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