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

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
php og javascript popup
Fra : Martin


Dato : 17-11-02 12:48

Hej
Hvordan får man adgang til en variabel sat i php i flg javascript:

Ved tryk på "bla bla" skal der poppe et vindue op, defineret i javascript
med filnavnet vis_billede.php?id=nummer på det aktuelle billede.

Jeg får ikke det aktuelle billede men altid det sidste billede, = det
største id nr.

Kan man ikke kombinere php og javascript på denne måde?

Martin


<?
while($row = mysql_fetch_array($result)) {
$id = $row["id"];
?>

<script>
function nytVindue(){
kortVindue = window.open('vis_billede.php?id=<?echo $id;?>', 'kortVin',
'width=400, heigth=400')
}
</script>

<a href="javascript:nytVindue()">bla bla</a>

<?
}
?>



 
 
Jesper Brunholm (17-11-2002)
Kommentar
Fra : Jesper Brunholm


Dato : 17-11-02 15:29

Martin wrote:
> Hvordan får man adgang til en variabel sat i php i flg javascript:

umiddelbart vil jeg sige: sådan som du har gjort

> Jeg får ikke det aktuelle billede men altid det sidste billede, = det
> største id nr.

Kan det være fordi du kører en while løkke som gør at $id blot ender med
at have højeste værdi?

Prøv at se på din sourcecode inde i browseren - har php sat forskellige
id's ind?

> Kan man ikke kombinere php og javascript på denne måde?

jo - jeg har gjort noget lignende flere gange

> <?
> while($row = mysql_fetch_array($result)) {
> $id = $row["id"];
> ?>

> <script>
> function nytVindue(){
> kortVindue = window.open('vis_billede.php?id=<?echo $id;?>', 'kortVin',
> 'width=400, heigth=400')
> }
> </script>
>
> <a href="javascript:nytVindue()">bla bla</a>
>
> <?
> }
> ?>

Jeg ville nu nok lade nytVindue tage en parameter: id, også så bare lave
kald til funktionen hver gang...

Jeg tror egl også at det er det der er galt - når du redefinerer
funktionen ved hvert gennemløb ender den med at være defineret til at
have højeste id - du kan ikke have to ens-benævnte javascript-funktioner
på samme side - så vil det bare være den sidst definerede der "gælder".

Du bør hente hjælp til parameter-trækket i d.e.i.w.clientside

mvh

Jesper Brunholm


Christian Joergensen (17-11-2002)
Kommentar
Fra : Christian Joergensen


Dato : 17-11-02 17:16

On Sun, 17 Nov 2002 12:48:06 +0100, Martin wrote:

> Jeg får ikke det aktuelle billede men altid det sidste billede, = det
> største id nr.

Prøv at give din javascript funktion et unikt navn hver gang, istedet for
at redeklarere den. (den bliver jo populært sagt "overskrevet").

Alternativt og "mere rigtigt" [tm] lave en global funktion:

   <script language='javascript'>
    function vis_billede(id){

    kortVindue = window.open(
    'vis_billede.php?id='+id,
    'kortVin',
    'width=400, heigth=400'
    );
   
    }
   </script>

Og derefter køre din løkke således:

   <?php
   while ($row = mysql_fetch_assoc($result)) {
    $id = $row["id"];
    print "<a href='javascript:vis_billede($id)'>blabla</a><br>";
   }
   ?>

--
Christian Jørgensen | What is a magician but a practicing theorist?
http://www.razor.dk |


Martin (18-11-2002)
Kommentar
Fra : Martin


Dato : 18-11-02 12:42

Tak jeg fik hjælp fra webcafe.dk og her er den rigtige kode der virker.

<script>
function nytVindue<?php echo $id; ?> (){

kortVindue = window.open('vis_billede.php?id=<? echo $id;?>', 'kortVin',
'width=<?echo $bredde;?>>, height=<?echo $hojde;?>')
}
</script>

<a href="javascript:nytVindue<?php echo $id; ?> ()">bla bla</a>

Martin


"Christian Joergensen" <mail@phpguru.dk> skrev i en meddelelse
news:pan.2002.11.17.16.14.20.309148@razor.dk...
> On Sun, 17 Nov 2002 12:48:06 +0100, Martin wrote:
>
> > Jeg får ikke det aktuelle billede men altid det sidste billede, = det
> > største id nr.
>
> Prøv at give din javascript funktion et unikt navn hver gang, istedet for
> at redeklarere den. (den bliver jo populært sagt "overskrevet").
>
> Alternativt og "mere rigtigt" [tm] lave en global funktion:
>
> <script language='javascript'>
> function vis_billede(id){
>
> kortVindue = window.open(
> 'vis_billede.php?id='+id,
> 'kortVin',
> 'width=400, heigth=400'
> );
>
> }
> </script>
>
> Og derefter køre din løkke således:
>
> <?php
> while ($row = mysql_fetch_assoc($result)) {
> $id = $row["id"];
> print "<a href='javascript:vis_billede($id)'>blabla</a><br>";
> }
> ?>
>
> --
> Christian Jørgensen | What is a magician but a practicing theorist?
> http://www.razor.dk |
>



Jesper Brunholm (18-11-2002)
Kommentar
Fra : Jesper Brunholm


Dato : 18-11-02 14:07

Martin wrote:
> Tak jeg fik hjælp fra webcafe.dk og her er den rigtige kode der virker.

Det ligner meget det vi foreslog, dog kan jeg ikke tro andet end at

> function nytVindue<?php echo $id; ?> (){

skal rettes til
function nytVindue(<?php echo $id; ?>){

btw: du må godt cutte det væk som du ikke svarer på, og svare under det
du svarer på - det øger overblikket

mvh

Jesper Brunholm

--
H.C. Andersen-Centret med nyt design: <http://www.andersen.sdu.dk/>
Phønix - dansk folk-musik fra unge musikere - <http://www.phonixfolk.dk/>


Christian Joergensen (08-09-2003)
Kommentar
Fra : Christian Joergensen


Dato : 08-09-03 07:03

On Sun, 17 Nov 2002 12:48:06 +0100, Martin wrote:

> Jeg får ikke det aktuelle billede men altid det sidste billede, = det
> største id nr.
>
> Kan man ikke kombinere php og javascript på denne måde?

Prøv at give din javascript funktion et unikt navn hver gang, istedet for
at redeklarere den. (den bliver jo populært sagt "overskrevet").

Alternativt og "mere rigtigt" [tm] lave en global funktion:

   <script language='javascript'>
    function vis_billede(id){

    kortVindue = window.open(
    'vis_billede.php?id='+id,
    'kortVin',
    'width=400, heigth=400'
    );
   
   
   </script>

Og derefter køre din løkke således:

   <?php
   while ($row = mysql_fetch_assoc($result)) {
    $id = $row["id"];
    print "<a href='javascript:vis_billede($id)'>blabla</a><br>";
   }
   ?>

--
Christian Jørgensen | The knack of flying is learning how to throw
http://www.razor.dk | yourself at the ground and miss.


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

Månedens bedste
Årets bedste
Sidste års bedste