Avatar billede gnukki Nybegynder
10. august 2007 - 18:58 Der er 7 kommentarer og
1 løsning

Sende ny info til en iframe

Hej

Jeg har en side med to iframes, menu og main. I menu har jeg en menu som når jeg trykker på et link skal sende et id til main, som fx main.php?id=22. Problemet ligger i at jeg i main også har andre filer som hvis det er dem der vises skal modtage id'et, fx edit.php?id=22

Håber det er forståeligt :)
Avatar billede olebole Juniormester
10. august 2007 - 21:53 #1
<ole>

<iframe name="menu" ............>
<iframe name="main" ............>

I menu:
    <a href="side.php?id=2" onclick="parent.frames.main.location.href=this.href;return false">Link A</a>
    <a href="side.php?id=3" onclick="parent.frames.main.location.href=this.href;return false">Link B</a>

/mvh
</bole>
Avatar billede olebole Juniormester
10. august 2007 - 21:56 #2
- eller lavet med en funktion:

<script type="text/JavaScript">
function reLoc(o) {
    parent.frames.main.location.href = o.getAttribute("href");
}
</script>

    <a href="side.php?id=2" onclick="reLoc(this);return false">Link A</a>
    <a href="side.php?id=3" onclick="reLoc(this);return false">Link B</a>
Avatar billede gnukki Nybegynder
11. august 2007 - 10:04 #3
Hmm jamen den sender jo hele siden til main-framet. Det skal jo være sådan at hvis der i main-framet er indlæst en side edit.php så skal den kun tilføje id'et efter, så der kommer til at stå edit.php?id=23.

Jeg har selv prøvet med følgende:

<script type="text/javascript">
    loc = parent.main.location;
    var newloc = loc + "?id=<?= $id ?>";
    parent.main.location=newloc;
</script>

Men her tilføjer den et nyt id for hver gang man trykker, så det bliver edit.php??id=320?id=319?id=323. Kan jeg ikke få den til at forkorte den hvis det er nødvendigt?
Avatar billede olebole Juniormester
12. august 2007 - 15:56 #4
For det først _skal_ du bruge 'location.href'. Kun at bruge 'location' giver ingen mening. Du kunne skrive noget à la:

    var loc = parent.main.location.href;
    if (loc.indexOf("?")!=-1) loc = loc.split("?")[0];
    var newloc = loc + "?id=<?= $id ?>";
    parent.main.location.href = newloc;
Avatar billede gnukki Nybegynder
12. august 2007 - 17:02 #5
Mange tak, det virker. Smider du lige et svar?
Avatar billede olebole Juniormester
12. august 2007 - 17:10 #6
yups ... *griiiiiiiiiiiiiiiiiiiiiiiiiiiiiib*  =)
Avatar billede gnukki Nybegynder
13. august 2007 - 09:00 #7
Hehe, men lige et supplerende spørgsmål inden jeg forsøger mig med at gribe ;O

Den måde du har lavet det på fjerner jo alt efter ?, det vil sige hvis jeg har en der hedder side.php?function=new&id=43 så fjerner den det hele, det er jo ikke helt så godt, kan det laves om tror du? :)
Avatar billede olebole Juniormester
14. februar 2008 - 23:29 #8
Noget i stil med:

    var newloc, sQ = "", loc = parent.main.location.href;
    if (loc.indexOf("?")!=-1) {
        loc = loc.split("?");
        sQ = "&"+loc[1];
        loc = loc[0];
    }
    newloc = loc + "?id=<?= $id ?>" + sQ;
    parent.main.location.href = newloc;

- og tak for points  :)
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