Avatar billede steen-h Mester
22. juni 2005 - 18:36 Der er 14 kommentarer og
1 løsning

PHP variabel

Hej

Jeg har en php variabel som tæller antal linjer som bliver udskrivet, den udskriver jeg i en tekst boks.
Kan man ikke få java script til at hente den og udskrive den i toppen af dokumentet.

Har prøvet følgende, det dur ikke, siden hedder link.php
Ved ikke om der er en smartere måde.

<input type="tekst" name="antaldyk"  value=<? echo $antal ?> >

<script language="javascript">
    var ture = document.link.antaldyk.value;
    document.write(ture);

  </script>
Avatar billede nielle Nybegynder
22. juni 2005 - 18:50 #1
Prøv dette:

<input id="antaldyk" type="tekst" name="antaldyk" value="<? echo $antal ?>">

<script language="javascript">
var ture = document.getElementById('antaldyk').value;
document.write(ture);
</script>
Avatar billede steen-h Mester
22. juni 2005 - 18:58 #2
Det virker ikke, der udskrives ingen ting.
Avatar billede nielle Nybegynder
22. juni 2005 - 19:01 #3
Er der overhovedet en værdi i din $antal?
Avatar billede steen-h Mester
22. juni 2005 - 19:06 #4
Ja, når siden er udskrivet står der 8 i input feltet.

input feltet er ikke udskrivet når java scriptet kaldes, men php er vel færdig behandlet inden java scriptet køres.
Avatar billede nielle Nybegynder
22. juni 2005 - 19:10 #5
Bare et forsigtigt gæt - har du set at jeg har sat et id på dit input-felt?

Fra:

<input type="tekst" name="antaldyk"  value=<? echo $antal ?> >

- til:

<input id="antaldyk" type="tekst" name="antaldyk" value="<? echo $antal ?>">
Avatar billede steen-h Mester
22. juni 2005 - 19:14 #6
Jeg har kopieret det du skrev ind i dokumentet, og slettet det jeg havde.
Avatar billede nielle Nybegynder
22. juni 2005 - 19:17 #7
Mystisk, for det virker altså for mig:

http://www.frip.dk/Nielle/e627853.php

Kode:

<?php $antal=42; ?>

<input id="antaldyk" type="tekst" name="antaldyk" value="<? echo $antal ?>">

<script language="javascript">
var ture = document.getElementById('antaldyk').value;
document.write(ture);
</script>
Avatar billede steen-h Mester
22. juni 2005 - 19:21 #8
Det gør det også her hvis jeg har input feletet inden scriptet som du har,
men jeg har input feltet efter scriptet dat variablen først er talt op der.
Avatar billede nielle Nybegynder
22. juni 2005 - 19:28 #9
Så er det nok mere et problem mht. hvordan siden bliver tegnet i browseren. F.eks. kunne jeg tænke mig at javascript på siden bliver udført på det tidspunkt det mødes at tegnerutinen – forstået sådan at    der ikke skrives noget fordi at browseren slet ikke er kommet til input-feltet og det derfor ikke er defineret på tegnetidspunktet.

Men siden at du jo har $antal allerede i PHP programmet, hvorfor udskriver du så ikke bare med echo?
Avatar billede steen-h Mester
22. juni 2005 - 19:33 #10
Jeg vil gerne udskrive $antal i toppen af dokumentet, men har ikke $antal da det er antal linjer som udskrives i en while setning.
Avatar billede nielle Nybegynder
22. juni 2005 - 22:06 #11
<div id="antalHer"></div>

<?php $antal=42; ?>

<input type="tekst" name="antaldyk" value="<? echo $antal ?>">

<script type="text/javascript">
document.getElementById('antalHer').innerHTML = <? echo $antal ?>
</script>
Avatar billede steen-h Mester
23. juni 2005 - 16:04 #12
Det virker, tak for det.

Et tillægs spørgsmål, kan man skrive en tekst efter på samme linje.
Har prøvet med HTML og PHP men så får jeg et linjeskift efter variablen.
Avatar billede steen-h Mester
23. juni 2005 - 17:13 #13
Har løst det ved at putte det i en tabel.

nielle lægger du et svar.
Avatar billede nielle Nybegynder
24. juni 2005 - 00:09 #14
Svar :^)
Avatar billede nielle Nybegynder
24. juni 2005 - 00:11 #15
Jeg tror at du også ville kunne klare det ved at bruge en span i stedet for en div:

<span id="antalHer"></span>
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