Avatar billede bigo Nybegynder
26. april 2001 - 12:05 Der er 20 kommentarer og
2 løsninger

overførelse af parametre fra php til javascript

Hej..

Jeg har et mindre problem.

Jeg har et $id (hentet via php fra en database) som skal videre gives til et java-opdater-2-frames ting.

howto..

her er lidt kode at spise..
---------------------------------
<SCRIPT>
    function x(param)
    {
    top.here.location=\"here.php?showid=\"(param);
    top.body.location=\"body.php?showid=\"(param);
    }
</SCRIPT>

........

<A href=\"#\" onclick=\"x(<?php $max[id] ?>)\" target=\"body\">
                  <?php echo $max[link];    ?>
                 

---------------------------------
Avatar billede bigo Nybegynder
26. april 2001 - 12:07 #1
Det er ikke sikkert det er den rigtige måde endsige det rigtige forum.. men jeg håber..
Avatar billede erikjacobsen Ekspert
26. april 2001 - 12:31 #2
top.here.location=\"here.php=showid=<? echo $param; ?>\";
Avatar billede erikjacobsen Ekspert
26. april 2001 - 12:38 #3
Nåh, jeg skulle læse det ordentligt:

top.here.location=\"here.php?showid=\" + param;
Avatar billede jakoba Nybegynder
26. april 2001 - 12:39 #4
hvis nu variablen er kendt idet den htmlfil der har scriptet blev genereret kunne man måske nøjes med:

var jsid = <? echo $id >;
Avatar billede jakoba Nybegynder
26. april 2001 - 12:40 #5
rettet.
var jsid = <? echo $id ?>;
Avatar billede bigo Nybegynder
26. april 2001 - 13:38 #6
ok.. af en eller anden årsag så virker det! og så virker det ikke..

Klikker jeg på linket så får jeg en helt ny side op hvor der bare står body.php?showid=2 (har klikket på den link som har id 2..)

Hvor vil den ikke åbne i iframe here... eller body for den sags skyld..


2 stumper kode: den ene definerer <iframe> og den anden laver linket til den..

-------------------------------
Du er her:<br><iframe width=140 height=15 FrameBorder=0 HSpace=0 MarginHeight=1 MarginWidth=1 VSpace=0 Scrolling=\"auto\" SRC=\"here.php\" Name=\"here\">
                </iframe>
       
                <?php
        $antal = mysql_query(\"select * from $database order by id\");
        while ($max = mysql_fetch_array($antal))
                {
                  ?>
                  <A href=\"java script:
                  parent.frames[\'here\'].location.href = \'here.php?showid=<? echo $max[id]; ?>\';
                  parent.frames[\'body\'].location.href = \'body.php?showid=<? echo $max[id]; ?>\'
            \">
            <?php echo $max[link]; ?>
                      </A><br>
                <?php
              }
        ?>

-------------------------------
Avatar billede erikjacobsen Ekspert
26. april 2001 - 13:42 #7
DU får et nyt vindue fordi den ikke kender navnet. Jeg kender ingenting
til <iframe>
Avatar billede jakoba Nybegynder
26. april 2001 - 13:57 #8
hvordan ser din frames.opbygning egentlig ud

dine sætninger:
    top.here.location=\"here.php?showid=\"(param);
påstår dt denne side er den eneste i din browser, og at der i denne side er
en iframe.

    top.body.location=\"body.php?showid=\"(param);
påstår at du har en rammeside hvor en af rammerne hedder body. eller måske IE vil fortolke den til
    top.document.body.location==\"body.php?showid=\" (param);
det er en lovlig men usedvanlig (deprecated) måde at udskifte \"denne side\".

ihvertfald. hvad er hele strukturen i dine rammer?

mvh JakobA
Avatar billede jakoba Nybegynder
26. april 2001 - 13:58 #9
mere lovlig hvis == udskiftes med = :-))
Avatar billede bigo Nybegynder
26. april 2001 - 14:13 #10
Jeg har en side bygget op af tables.. inde i alt rodet (tm) har jeg to <iframes>: et i topleftcorner og et i midten (body). Desse to skal opdateres samtidig udfra et link.

Jeg kan sagtens opdatere dem enkeltvis ved en <a href=\"blabla\" target=\"body\">bla</a> og for densags skyld osse target=\"here\".. Så de kan -html wise- finde <iframes>. Men måske kan javatingen ikke..

email og du kan se mit rod (tm)
Avatar billede jakoba Nybegynder
26. april 2001 - 14:54 #11
Ok.
Så drop det der med top eller parent foran. Selve siden er parent til begge iframes.
Og kan addressere dem med
        frames[\'here\'].location.href = \'here.php?showid=<? echo $max[id]; ?>\';
        frames[\'body\'].location.href = \'body.php?showid=<? echo $max[id]; ?>\'

Det burde virke. hvis det ikke gør kan det være at din phpserver foretrækker <?php eller <?php4 osv for rigtig at være glad. hvad plejer du at skrive?

PS: du kan ikke have tm på det ord. Det ord opfandt jeg. længe før du lærte at sparke bleen af.

mvh JakobA
Avatar billede bigo Nybegynder
26. april 2001 - 14:56 #12
*G*

checker lige om det virker...
Avatar billede bigo Nybegynder
26. april 2001 - 15:05 #13
nope.. stadig ny side med body.php?showid=2
Avatar billede bigo Nybegynder
26. april 2001 - 15:08 #14
Sådan ser koden ud nu..


            <table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"border4\">
              <tr>
                <TD WIDTH=\"155\" height=\"31\" valign=\"top\"><font face=\"verdana\" size=\"1\">
                Du er her:<br><iframe name=\"here\"width=140 height=15 FrameBorder=0 HSpace=0 MarginHeight=1 MarginWidth=1  Space=0 Scrolling=\"auto\" SRC=\"here.php\">
                        <p>If you can see this your browser doesnt support iframes. </p>
                </iframe>
        </font>
                </TD>
                <TD width=\"544\" valign=\"top\">
                  <center>
                    <FONT FACE=\"verdana\" SIZE=\"3\"><b>Velkommen til [xxx]</b></font>
                  </center>
                </TD>
              </tr>
            </table>



og



            <TABLE WIDTH=\"150\" CELLSPACING=\"0\" CELLPADDING=\"0\">
              <!-- indholdstabel -->
              <TR valign=\"top\">
                <td width=\"146\" height=\"13\" valign=\"top\" class=\"border3\">Index</td>
                <td width=\"3\"></td>
              <tr>
                <TD valign=\"top\" class=\"border1\">
                <?php
        $antal = mysql_query(\"select * from $database order by id\");
        while ($max = mysql_fetch_array($antal))
                {
                  ?>
                  <A href=\"java script:
                  parent.here.location.href = \'here.php?showid=<? echo $max[id]; ?>\';
                  parent.body.location.href = \'body.php?showid=<? echo $max[id]; ?>\'
            \">
            <?php echo $max[link]; ?>
                      </A><br>
                <?php
              }
        ?>
                </TD>
              </TR>
            </tr>
          </table>
Avatar billede bigo Nybegynder
26. april 2001 - 15:18 #15
<a href=\"here.php?showid=<? echo $max[id]; ?>\" target=\"here\">
                  <?php echo $max[link]; ?>

virker.. men så får jeg kun den ene iframe opdateret.. jeg vil gerne have både here og body opdateret samtidig..
Avatar billede jakoba Nybegynder
26. april 2001 - 16:51 #16
glem den parent.
hvis der skulle stå noget skulle det være
          here.location.href = \'here.php?showid=<? echo $max[id]; ?>\';
          body.location.href = \'body.php?showid=<? echo $max[id]; ?>\'
men det er lovlig usikkert så hellere:

        frames[\'here\'].location.href = \'here.php?showid=<? echo $max[id]; ?>\';
        frames[\'body\'].location.href = \'body.php?showid=<? echo $max[id]; ?>\'
eller evt:
        frames.here.location.href = \'here.php?showid=<? echo $max[id]; ?>\';
        frames.body.location.href = \'body.php?showid=<? echo $max[id]; ?>\'

men en javascript streng skal holde sig i een linie uden linieskift
så skriv de i een linie:

                  <A href=\"java script:parent.here.location.href=\'here.php?showid=<? echo $max[id]; ?>\';parent.body.location.href = \'body.php?showid=<? echo $max[id]; ?>\'\">

oventtående er eeen lang linie.

mvh JakobA
Avatar billede bigo Nybegynder
26. april 2001 - 21:27 #17
Det virker stadig ikke .. Underligt da det virker med en alm. <a href>.. men desværre kun en ramme der opdateres..

tænkebox.. zzzzzzzzz
Avatar billede jakoba Nybegynder
26. april 2001 - 22:16 #18
Jeg ved ikke hvordan men på en eller anden måde havde jeg fået skrevet parent istedet for frames i det link jeg skrev til dig:
          <A href=\"java script:frames.here.location.href=\'here.php?showid=<? echo $max[id]; ?>\';frames.body.location.href = \'body.php?showid=<? echo $max[id]; ?>\'\">
Avatar billede bigo Nybegynder
27. april 2001 - 12:59 #19
Løsning fundet !!!!!!!!!!!!!!!!

<SCRIPT>

function multiload(URL1,URL2)
{
  parent.here.location.href=URL1;
  parent.body.location.href=URL2;
}
</script>

<A href=\"java script:multiload(\'here.php?showid=<?php echo $max[id]; ?>\', \'body.php?showid=<?php echo $max[id]; ?>\')\">


Hvor er jeg dog en glad mand...;-)

Som tak for hjælpen (sporede mig lidt på vej) FÅR I BEGGE POINT.
Avatar billede erikjacobsen Ekspert
27. april 2001 - 13:12 #20
Jakoba. Jeg deler gerne mine 30 med dig....
Avatar billede bigo Nybegynder
27. april 2001 - 13:35 #21
Det var dog satans.. jeg markerede begge to og trykkede på Accepter... Verdamt noch mahl.. Sorry JakobA. Jeg vil gerne oprette et nyt sp. og give dig hvad dig der tilkommer...
Avatar billede bigo Nybegynder
27. april 2001 - 13:37 #22
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