Avatar billede lequet Nybegynder
13. juni 2002 - 23:20 Der er 18 kommentarer og
1 løsning

Vil ikke kalde funktion

Dav, sidder med et lille problem... Måske er det bare mig der har gloet mig blind på det her... Når jeg klikker på "Næste" knappen får jeg en fejl om at et objekt var ventet på linie 31 (Linien med selve knappen nederst i koden)

Kan simpelthen ikke se fejlen. Hvorfor vil den ikke kalde den funktion?

Håber ikke det bare er mig der er blevet helt blind, og at i forstår hvad jeg mener :)
   
<script language="JavaScript" type="text/javascript">
function nextIMG() {
  alert("test") ;
}
       
function prevIMG(cur) {
  // Ingen kode her endnu
}
</script>
</head>

<body>

<img src="<?= $pic[0] ; ?>" alt="">

<input type="button" value="Forrige" onClick="prevIMG()">
<input type="button" value="Næste" onClick="nextIMG()">
Avatar billede medions Nybegynder
13. juni 2002 - 23:22 #1
<script language="JavaScript" type="text/javascript">
function nextIMG(test) {
  alert(test);
}
       
function prevIMG(cur) {
  // Ingen kode her endnu
alert(cur);
}
</script>
</head>

<body>

<img src="<?= $pic[0] ; ?>" alt="">

<input type="button" value="Forrige" onClick="prevIMG(1);">
<input type="button" value="Næste" onClick="nextIMG(2);">

//>Rune
Avatar billede lp Nybegynder
13. juni 2002 - 23:23 #2
virker fint her... glemmer du måske noget af koden i dit dokument... ?
Avatar billede lequet Nybegynder
13. juni 2002 - 23:25 #3
Hov, "cur" er et levn, som burde være fjernet... Den skal ikke være der, er fjernet helt nu, og det hjalp ikke :(
Avatar billede lequet Nybegynder
13. juni 2002 - 23:30 #4
Undskyld min forvirring her :( I får lige hele scriptet fra første til sidste linie, PHP delen skal i ikke tage jer af :)

<?php
// Function to return all files in the directory $mappe
function list_dir($mappe) {
    if($mappe[strlen($mappe)-1]!='\\') {
        $mappe.='\\';
    }
 
    static $result_array = array();
   
    $handle=opendir($mappe);
 
    while ($file = readdir($handle)) {
        if($file=='.'||$file=='..') {
            continue;
        }
   
        if(is_dir($mappe.$file)) {
            list_dir($mappe.$file.'\\');
        } else {
            $result_array[]=$mappe.$file;
        }
    }   

    closedir($handle);

    return $result_array;   
}

// Put together the pictures in an array, correctly formatted
$billeder = list_dir("billeder/") ;
for ($i = 0 ; $i < count($billeder) ; $i++) {
    $pic[$i] = "billeder/" . str_replace("%20", " ", str_replace("billeder/\\", "", $billeder[$i]))  ;
}
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>
    <title>Fotoalbum</title>
   
    <script language="JavaScript" type="text/javascript">
        function nextIMG() {
            var cur = 1 ;
           
            for (i = 0 ; i < <?= count($pic) ; ?> ; i++) {
                var pic = new Array (<?php for ($i = 0 ; $i < count($pic) ; $i++) echo "'" . $pic[$i] . "'," ; ?>) ;
            }            
           
            document.images[0].src = pic[cur] ;
        }
       
        function prevIMG() {
            alert("Hej") ;
        }
    </script>
</head>

<body>

<img src="<?= $pic[0] ; ?>" alt="">

<input type="button" value="Forrige" onClick="prevIMG()">
<input type="button" value="Næste" onClick="nextIMG()">

</body>

</html>
Avatar billede lp Nybegynder
13. juni 2002 - 23:33 #5
jeg forstår bare ikke hvorfor du ikke bare koder det i ren php og laver sender en var med til det næste billede eller noget i den stil.... anyways, kigger da lige lidt på det....bbl
Avatar billede lequet Nybegynder
13. juni 2002 - 23:34 #6
lp > Af den simple grund at planen er at billedet skal skiftes ud uden at hele siden opdateres :)
Avatar billede lp Nybegynder
13. juni 2002 - 23:37 #7
ja, det kunne jeg godt regne ud, meeeen... well, jeg snuser lidt videre i dit dokument...
Avatar billede lequet Nybegynder
13. juni 2002 - 23:50 #8
Og BTW ved jeg godt det er noget slamkode som ikke ville virke som det er meningen, men det burde bare ikke give en fejl :) Er trods alt lige begyndt, men kan jo ikke arbejde videre på det når jeg ikke kan kalde de funktioner :(
Avatar billede lp Nybegynder
13. juni 2002 - 23:52 #9
jeg sidder og roder med din kode... der er flere småting der er i vejen med både php'en og javascript koden...... jeg tror jeg er ret tæt på at få det til at virke..... bbl
Avatar billede lequet Nybegynder
13. juni 2002 - 23:53 #10
Lyder godt :) Kan ikke se hvad der er galt med PHP'en det ser hos mig helt fint ud (Bort set fra det er gyseligt at se på :)
Avatar billede lp Nybegynder
14. juni 2002 - 00:04 #11
ok, her er slamkoden :)

du skal dog lige ændre lidt i din mappeopsætning..... denne fil går ud fra at billederne ligger i undermappen "fotoalbum" af phpscriptet - jeg tror ikke du sådan lige kan få det til at virke med billeder/fotoalbum som i øvrigt fuckede noget af din kode før....

derudover var der fejl i php koden som medførte at den lavede "," tilsidst i javascript arrayet samt nogle andre småting....

denne burde virke både med næste og forrige..... og ja..... slamkodestilen er fortsat :)

<?php
// Function to return all files in the directory $mappe
function list_dir($mappe) {
    if($mappe[strlen($mappe)-1]!='\\') {
        $mappe.='\\';
    }

    static $result_array = array();

    $handle=opendir($mappe);

    while ($file = readdir($handle)) {
        if($file=='.'||$file=='..') {
            continue;
        }

        if(is_dir($mappe.$file)) {
            list_dir($mappe.$file.'\\');
        } else {
            $result_array[]=$mappe.$file;
        }
    }

    closedir($handle);

    return $result_array;
}

// Put together the pictures in an array, correctly formatted
$billeder = list_dir("fotoalbum/");
for ($i = 0 ; $i < count($billeder) ; $i++) {
    $pic[$i] = "" . str_replace("%20", " ", str_replace("billeder/\\", "", $billeder[$i]))  ;
}
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>
    <title>Fotoalbum</title>

    <script language="JavaScript" type="text/javascript">
    var cur = 1;
        function nextIMG() {
            for (i = 0 ; i < <?= count($pic) ; ?> ; i++) {
                var pic = new Array (<?php
                for ($i = 0 ; $i < count($pic) ; $i++) {
                    if ($i != count($pic)-1) {
                        echo "'" . $pic[$i] . "'," ;
                    } else {
                        echo "'" . $pic[$i] . "');" ;
                    }
                }
                    ?>

            }

                    if (cur <= <?= count($pic)-2; ?>) {
                        cur=cur+1;
                        document.images[0].src = pic[cur];
                    }
      }

        function prevIMG() {
            for (i = 0 ; i < <?= count($pic) ; ?> ; i++) {
                var pic = new Array (<?php
                for ($i = 0 ; $i < count($pic) ; $i++) {
                    if ($i != count($pic)-1) {
                        echo "'" . $pic[$i] . "'," ;
                    } else {
                        echo "'" . $pic[$i] . "');" ;
                    }
                }
                    ?>

            }
                    if (cur > 0) {
                        cur=cur-1;
                        document.images[0].src = pic[cur];
                    }
      }
    </script>
</head>

<body>

<img src="<?= $pic[0] ; ?>" alt="">

<input type="button" value="Forrige" onClick="prevIMG()">
<input type="button" value="Næste" onClick="nextIMG()">

</body>

</html>
Avatar billede lp Nybegynder
14. juni 2002 - 00:05 #12
du bør desuden lave php check på filendelser, således den kun tager .gif og .jpg filer....
Avatar billede lequet Nybegynder
14. juni 2002 - 00:08 #13
Tja, der er i hvert fald nogle ting der skal rettes til, men du skal i hvert fald have mange tak fordi du ville kigge på det :) Det er nu sikkert at lægge at svar *gg* :)
Avatar billede lp Nybegynder
14. juni 2002 - 00:08 #14
virker det ?
Avatar billede lequet Nybegynder
14. juni 2002 - 00:09 #15
Jep :)
Avatar billede lp Nybegynder
14. juni 2002 - 00:27 #16
ok, her er en version som er fejlrettet..... den spran billede nr 2 over fordi jeg dummede mig lidt.....

har desuden tilføjet en form som dermed giver mulighed for at gøre knapperne disabled når man kommer til det sidste billede....

jeg ved ikke om du vil bruge det til noget, men nu har du det :)

<?php
// Function to return all files in the directory $mappe
function list_dir($mappe) {
    if($mappe[strlen($mappe)-1]!='\\') {
        $mappe.='\\';
    }

    static $result_array = array();

    $handle=opendir($mappe);

    while ($file = readdir($handle)) {
        if($file=='.'||$file=='..') {
            continue;
        }

        if(is_dir($mappe.$file)) {
            list_dir($mappe.$file.'\\');
        } else {
            $result_array[]=$mappe.$file;
        }
    }

    closedir($handle);

    return $result_array;
}

// Put together the pictures in an array, correctly formatted
$billeder = list_dir("fotoalbum/");
for ($i = 0 ; $i < count($billeder) ; $i++) {
    $pic[$i] = "" . str_replace("%20", " ", str_replace("billeder/\\", "", $billeder[$i]))  ;
}
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>
    <title>Fotoalbum</title>

    <script language="JavaScript" type="text/javascript">
    var cur = 0;
        function nextIMG() {
            for (i = 0 ; i < <?= count($pic) ; ?> ; i++) {
                var pic = new Array (<?php
                for ($i = 0 ; $i < count($pic) ; $i++) {
                    if ($i != count($pic)-1) {
                        echo "'" . $pic[$i] . "'," ;
                    } else {
                        echo "'" . $pic[$i] . "');" ;
                    }
                }
                    ?>

            }

                    if (cur <= <?= count($pic)-2; ?>) {
                        cur=cur+1;
                        document.images[0].src = pic[cur];
                        if (cur == <?= count($pic)-1; ?>) {
                            document.forms[0].next.disabled=true;
                        } else {
                            document.forms[0].next.disabled=false;
                            document.forms[0].previous.disabled=false;
                        }
                    }

      }

        function prevIMG() {
            for (i = 0 ; i < <?= count($pic) ; ?> ; i++) {
                var pic = new Array (<?php
                for ($i = 0 ; $i < count($pic) ; $i++) {
                    if ($i != count($pic)-1) {
                        echo "'" . $pic[$i] . "'," ;
                    } else {
                        echo "'" . $pic[$i] . "');" ;
                    }
                }
                    ?>

            }
                    if (cur > 0) {
                        cur=cur-1;
                        document.images[0].src = pic[cur];
                    }
                        if (cur == 0) {
                            document.forms[0].previous.disabled=true;
                        } else {
                            document.forms[0].previous.disabled=false;
                            document.forms[0].next.disabled=false;
                        }
      }
    </script>
</head>

<body onload="document.forms[0].previous.disabled=true;">
<div align="center">
<img src="<?= $pic[0] ; ?>" alt="">
<br><br>
<form>
<input type="button" name="previous" value="Forrige" onClick="prevIMG()">
<input type="button" name="next" value="Næste" onClick="nextIMG()">
</form>
</div>
</body>

</html>
Avatar billede lequet Nybegynder
14. juni 2002 - 00:30 #17
Hold da op :) Kan næsten regne ud at du ikke har så meget at lave lige nu :) Men du skal da have mange tak for din hjælp, nu virker det da.

Vil du også have points? I så fald må du da gerne smide et svar
Avatar billede lp Nybegynder
14. juni 2002 - 00:36 #18
jeg har nok at lave :) men gider bare ikke lave det ;)

skulle du have et svar ?
Avatar billede lequet Nybegynder
14. juni 2002 - 00:37 #19
HeHe :) Tja, kender det alt for godt :)

Jeg er såmænd ligeglad, men hvis du vil have points er et svar en god ide :)

Takker endnu en gang, og fortsat god nat
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