Avatar billede birgerflippo Nybegynder
10. oktober 2007 - 15:39 Der er 22 kommentarer og
1 løsning

hjælp

Jeg har 2 tekstboxe på min side, hvor man i den ene skal skrive postnr og derefter kommer byen frem i den anden(postnr og bynavne er i en teksfil). Dette gør jeg via javascript.

problemet er bare at da skriver "undefined" ind i by tekstboksen. Jeg tror at det er fordi at den kører formen først med variablen som den skal smække over i tekstboxen før udregningen kommer af variablen og derved er variablen tom, men det er bare et gæt..... I kan jo selv se efter--->

<html>
<form action="bruger.php" method="post">
Postnr<input type="text" name="postnr" onblur='aben(<?php $check3 ?>)'>
Bynavn<input type="text" id="byen" >
<input type = "button" onclick="aben()">
<input type="submit" name = "submit"/>
<head>

<script type="text/javascript">
function aben(variabel)
{
testvar = variabel;
alert("nu er vi i javascriptet");
document.getElementById('byen').value = testvar;//$check3;
}
</script>

</head>

<?php
    $post = $_POST['postnr'];
    $file=fopen("POSTBY2.txt","r");
    $henning = "";
    if($_POST['postnr'] >= 1000)
    {
        while(fgets($file) != null)
        {
            for($i=0; $i<10000; $i++)
            {
            $input[$i] =fgets($file);
            $check2 = substr($input[$i], 0, 4);
            $check3 = substr($input[$i], 5, 25);
                if($post==$check2)
                {
                    echo $check3;
                    $henning = $check3;
                   
                    //fclose($file);
                }
            }
        }
    }
 
      else return null;
    //$henning = "Henning";
?>

</form>
</html>
Avatar billede sherlock Nybegynder
10. oktober 2007 - 15:56 #1
Du bruger $check3 i toppen af dit script, men udfylder den først i bunden.
Avatar billede nielle Nybegynder
10. oktober 2007 - 17:22 #2
Du kan jo passende følge sherlock's bud ved at flytte din form ned efter din PHP-kode. Den må nemlig alligevel ikke ligge i <head> sektionen på din side.

Desuden er det nok íkke en god ide at kalde aben() i din button. Din submit-knap må desuden ikke have navnet "submit".
Avatar billede birgerflippo Nybegynder
10. oktober 2007 - 18:00 #3
ja.... har også haft formen nederst på siden..... med samme resultat.... testet det bare lige med at flytte det derop..... angående det med at kalde aben() i min button var for teste om scriptet kørte(havde nogle små problemer med der).... men ellers tak.... andre ideer
Avatar billede nielle Nybegynder
10. oktober 2007 - 18:16 #4
Prøv nu først at rette din kode og vis hvordan den så ser ud.

Du skal iøvrigt også have en <body>. Og din "return null" ser lidt mystisk ud siden at du ikke er i en funktion på det tidspunkt hvor den står.
Avatar billede birgerflippo Nybegynder
10. oktober 2007 - 19:25 #5
<html>

<head>

<script type="text/javascript">
function aben(variabel)
{
testvar = variabel;
alert("nu er vi i javascriptet");
document.getElementById('byen').value = testvar;//$check3;
}
</script>

</head>

<?php
$post = $_POST['postnr'];
$file=fopen("POSTBY2.txt","r");
$henning = "";
if($_POST['postnr'] >= 1000)
{
while(fgets($file) != null)
{
for($i=0; $i<10000; $i++)
{
$input[$i] =fgets($file);
$check2 = substr($input[$i], 0, 4);
$check3 = substr($input[$i], 5, 25);
if($post==$check2)
{
echo $check3;
$henning = $check3;

//fclose($file);
}
}
}
}

?>
<form action="bruger.php" method="post">
Postnr<input type="text" name="postnr" onblur='aben(<?php $check3 ?>)'>
Bynavn<input type="text" id="byen" >
<input type = "button" onclick="aben()">
<input type="submit" name = "submit"/>
</form>
</html>
Avatar billede nielle Nybegynder
10. oktober 2007 - 19:31 #6
Du glemte <body>...

Det næstre du skal gøre3 er at loade siden første gang - altså uden at submitte formen. Dernæst laver du en Vis Kilde og poster hvad den giver.
Avatar billede birgerflippo Nybegynder
10. oktober 2007 - 19:53 #7
glemte måske også lige at jeg er lidt ny til det her...... hvordan loader man siden uden at submitte formen første gang den bliver loadet
Avatar billede nielle Nybegynder
10. oktober 2007 - 19:55 #8
Du skal bare starte siden uden at trykke på submit-knappen :^)
Avatar billede birgerflippo Nybegynder
11. oktober 2007 - 08:03 #9
hvad har det med sagen at gøre......
Avatar billede nielle Nybegynder
11. oktober 2007 - 08:09 #10
Fordi hvis du gør det, og laver en Vis Kilde så vil du kunne se hvordan dit javascript er kommet til at se ud i første omfang. Og da det er javascriptet som er skyld i fejlen er dette en vigtig viden at have.

Hvis du spotter fejlen i javascriptet, har du også en meget bedre basis for at finde ud af hvorfor den opstår.
Avatar billede nielle Nybegynder
11. oktober 2007 - 08:09 #11
omfang => omgang
Avatar billede nielle Nybegynder
11. oktober 2007 - 08:21 #12
Desuden:

Når du køre siden 1. gang afvikles der noget PHP-script. Dette udvikles ud fra forudsætningen at der ikke er submittet noget fra formen.

Når du så skriver noget (eller lader det stå blankt) i et felt, og trykker på submit-knappen - så køres PHP-koden for 2. gang, men nu under nogle andre forudsætninger, nemlig at der er submittet data fra formen. Resultatet bliver muligvis et andet end 1. gang.

Derfor er det vigtigt at kigge på situationen før og efter submit.
Avatar billede birgerflippo Nybegynder
11. oktober 2007 - 08:46 #13
ok tak..... men har kigget på vis kilde før og efter der er trykket på submit og de ser ens..... de eneste dog jeg kan se på begge to er at der ikke er noget argument i aben(), ved dog heller ik om man kan se det i vis kilde
Avatar billede birgerflippo Nybegynder
11. oktober 2007 - 08:51 #14
altså nede ved formen hvor jeg kalder den
Avatar billede nielle Nybegynder
11. oktober 2007 - 08:52 #15
Det er sandsynligvis lige præcis derfor at den fejler. Det gode spørgsmål er "hvorfor er den tom?". Var det noget du forventede at den ville være.

Poster du i øvrigt ikke lige resultatet af din 1. Vis Kilde?
Avatar billede birgerflippo Nybegynder
11. oktober 2007 - 09:00 #16
jah har fundet ud af den skal se sådan her ud :
<input type = "button" onclick="aben('<?php $henning ?>')">

altså argumentet skal være i ', og hvis jeg skriver f.eks. hello i ' i argumentet, skriver den hello i textboxen, men hvis jeg skriver php sætning ind i ' er textboxen bare tom, og jeg kan se at den ikke har overført noget i argumentet.... nå men her har du den 1. vis kilde:

<html>
<head>
<script type="text/javascript">
function aben(variabel)
{
testvar = variabel;
alert("nu er vi i javascriptet");
document.getElementById('byen').value = testvar;//$check3;
}
</script>

</head>

<html>
Tåstrup
<form action="bruger.php" method="post">
Postnr<input type="text" name="postnr" onblur="aben('')">
Bynavn<input type="text" id="byen" >
<input type = "button" onclick="aben('')">
<input type="submit" name = "submit"/>


</form>
</html>
Avatar billede birgerflippo Nybegynder
11. oktober 2007 - 09:26 #17
kan du hjælpe mig
Avatar billede nielle Nybegynder
11. oktober 2007 - 09:32 #18
I det mindste giver din kode nu ikke mere den javascript fejl du fik i starten. :^)

Det næste skridt er at du kigger på din PHP-kode og gennemløber den linje for linje; Hvorfor mon at der ikke kommer noget indhold i variablen $henning når siden kaldes første gang?
Avatar billede birgerflippo Nybegynder
11. oktober 2007 - 09:53 #19
i dont know
Avatar billede nielle Nybegynder
11. oktober 2007 - 09:55 #20
Prøv at poste din kode som den ser ud nu.
Avatar billede birgerflippo Nybegynder
12. oktober 2007 - 10:41 #21
undskyld ventetiden..... men har droppet det, da jeg er under tidspres..... du kan lige smide et svar ind så du kan få dine point
Avatar billede nielle Nybegynder
12. oktober 2007 - 15:48 #22
Du får et svar.

Men hvis du beslutter dig for at tage det op igen, så fortsætter vi da bare her. :^)
Avatar billede nielle Nybegynder
22. oktober 2007 - 18:58 #23
Så mangler du bare at acceptere mit svar :^)
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