Avatar billede stonejunkie Nybegynder
03. juni 2004 - 14:39 Der er 11 kommentarer og
1 løsning

Submit knap i form reagerer kun på mus ikke på enter.

Jeg har en form betsående af et tekst input og en submit knap. Når jeg har udfyldt tekst feltet og trykker på enter så bliver formen sendt, men variablen fra tekst feltet bliver ikke sat. Men hvis jeg trykker på submit knappen med musen så virker alt som det skal hvorfor og hvordan??


//Henter alle ruter sorteres efter dato
if (!isset($_POST["soeg"])){
$result = mysql_query("SELECT id, dato, billede_titel, file_name FROM phpGallery ORDER BY id DESC") or die(mysql_error());
}

if (isset($_POST["soeg"])){
    $result = mysql_query("SELECT id, billede_titel, file_name FROM phpGallery WHERE
    billede_titel LIKE '%$soege_tekst%'
    OR fotograf LIKE '%$soege_tekst%'
    OR sted LIKE '%$soege_tekst%'
    OR foto_udstyr LIKE '%$soege_tekst%'
    OR klatrer LIKE '%$soege_tekst%'
    OR rute LIKE '%$soege_tekst%'
    OR gradering LIKE '%$soege_tekst%'
    OR kommentar LIKE '%$soege_tekst%'
    OR soege_ord LIKE '%$soege_tekst%'
    ORDER BY id DESC");

$num_rows = mysql_num_rows($result);
}
   
$break = 0;
?>
<html>
<body>
<fieldset>
<table>
<form action="<?php echo $PHP_SELF;?>" method="post">
    <tr><td><input type="text" name="soege_tekst"></td><td><input type="submit" name="soeg" value="Søg"></td></tr>
</form>
<?php if ($num_rows) echo ("<tr><td>Der er fundet $num_rows søge resultater.</td></tr>");?>
</table>
</fieldset>
<table cellpadding="3" cellspacing="3">
<?php
$temp = "";
while ($query_data = mysql_fetch_assoc($result)){
    if ($break == 0) echo ("<tr align='center'>");?>
    <td valign="baseline" width="25%" align="center">
        <A HREF="#" OnClick=java script:window.open(<?php echo("'phpGallery/vis_foto.php?billede_id=$query_data[id]'");?>,'openwindow','width=840,height=650,toolbar=0,menubar=0,scrollbars=yes,status=0,resizable=yes,left=10,top=10')>
        <img src=<?php echo ("billeder/phpGallery/thumb_fotos/"  . $query_data["file_name"]);?> border="0"></a><BR>
        <?php echo($query_data["billede_titel"]);?>
    </td>
        <?php
        $break++;
        if ($break == 4){
            echo ("</tr>");
            $break = 0;
        }
}
?>
</table>

</body>
</html>
Avatar billede roenving Novice
03. juni 2004 - 14:44 #1
Du nester i hvert fald ulovligt, så måske vil det være nok at:

<table>
    <tr><td>
        <form action="<?php echo $PHP_SELF;?>" method="post">
            <input type="text" name="soege_tekst"></td><td><input type="submit" name="soeg" value="Søg">
            </form></td></tr>
<?php if ($num_rows) echo ("<tr><td>Der er fundet $num_rows søge resultater.</td></tr>");?>
</table>
Avatar billede roenving Novice
03. juni 2004 - 14:46 #2
Hov, jeg så ikke, at du havde to kolonner:

<form action="<?php echo $PHP_SELF;?>" method="post">
<table>
    <tr>
        <td><input type="text" name="soege_tekst"></td>
        <td><input type="submit" name="soeg" value="Søg"></td>
    </tr>
<?php if ($num_rows) echo ("<tr><td>Der er fundet $num_rows søge resultater.</td></tr>");?>
</table>
</form>
Avatar billede stonejunkie Nybegynder
03. juni 2004 - 14:50 #3
Nu kan det godt være jeg spørger dumt, men hvad mener du med dit første svar? nester?
Avatar billede roenving Novice
03. juni 2004 - 14:53 #4
Man lægger nogle tags inde i et andet tag !-)

-- inde i et table-tag kan man kun lægge table-elementer (tbody, tr o.l.), så et form-element skal enten lægges inde i en celle (td) eller også skal det omkranse hele tabellen, den må ikke kun omfatte en række ...
Avatar billede stonejunkie Nybegynder
03. juni 2004 - 15:00 #5
Nu har jeg ændret til dette, men det ændre ikke på mit problem.

<form action="<?php echo $PHP_SELF;?>" method="post">
<table>
    <tr>
        <td><input type="text" name="soege_tekst"></td>
        <td><input type="submit" name="soeg" value="Søg"></td>
    </tr>
<?php if ($num_rows) echo ("<tr><td>Der er fundet $num_rows søge resultater.</td></tr>");?>
</table>
</form>
Avatar billede roenving Novice
03. juni 2004 - 15:05 #6
Måske bare fjerne dobbelt-cellen:

<table>
    <tr><td>
        <form action="<?php echo $PHP_SELF;?>" method="post">
            <input type="text" name="soege_tekst"><input type="submit" name="soeg" value="Søg">
            </form></td></tr>
<?php if ($num_rows) echo ("<tr><td>Der er fundet $num_rows søge resultater.</td></tr>");?>
</table>
Avatar billede stonejunkie Nybegynder
03. juni 2004 - 15:08 #7
Nej dette virker heller ikke.

<table>
    <tr>
        <td>
        <form action="<?php echo $PHP_SELF;?>" method="post">
        <input type="text" name="soege_tekst"><input type="submit" name="soeg" value="Søg">
        </form>
        </td>
    </tr>
<?php if ($num_rows) echo ("<tr><td>Der er fundet $num_rows søge resultater.</td></tr>");?>
</table>
Avatar billede fennec Nybegynder
03. juni 2004 - 15:29 #8
prøv at fange "enter" på tekst feltet:

<input type="text" name="soege_tekst" onKeyDown="if(window.event.keyCode==13){document.forms[0].submit();}">
Avatar billede stonejunkie Nybegynder
03. juni 2004 - 15:33 #9
Nej det virker heller ikke, siden bliver bare reloaded og den indtastede tekst i input feltet forsvinder. Men hvis jeg så trykker på submit knappen med musen efter siden er reloaded så virker det.
Avatar billede kongkeil Nybegynder
04. juni 2004 - 12:04 #10
if (isset($_POST["soeg"]))

Du spørger på submit knappens værdi som hedder "soeg" prøv at spørge på tekstfeltet som hedder "soege_tekst"

if (isset($_POST["soege_tekst"]))
Avatar billede stonejunkie Nybegynder
05. juni 2004 - 18:06 #11
Det virkede, mange tak for hjælpen. Men hvad er det der gør at det virker og ikke med variablen $_POST["soeg"]? Jeg har lavet andre sider som reagere på entertasten. Meget mærkeligt.

Men ihvertfald mange gange tak for løsningen. Smid lige et svar Kongkeil og du skal få dine point.
Avatar billede stonejunkie Nybegynder
12. april 2007 - 08:36 #12
nå, så lukker jeg tråden...
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