hotti: Ajax und Enter-Taste

hi,

mein Formular hat ein Inputfeld, darauf steht der EventHandle onKeyUp, welcher den Ajax-Request rausschickt. Soweit ist das Ok, beim Loslassen der Taste nach der Eingabe des letzten Zeichens, wird die JS Funktion

loadWords() aufgerufen und der Parameter übergeben an das CGI, was die Antwort als XML zurück zur JS Engine schickt, die dann eine Liste generiert.

Drückt jedoch der Benutzer nach der Eingabe die Enter-Taste, geht der Request als URI direkt an das Script, also nicht als Ajax-Request raus. Infolge dessen kommt die Antwort auf STDOUT und somit zum Browser. Wie kann ich das verhindern?

Hotti

--
Wenn der Kommentar nicht zum Code passt, kann auch der Code falsch sein.
  1. Mach kein Submit-Typ aus dem Button, sondern ein Button-Typ, der dann in der Function "XYZ" document.forms[0].submit(); aufruft!

  2. hi,

    selber suchen macht auch schlau ;-)

    im Archiv gefunden:

    <form action="$ENV{SCRIPT_NAME}" name="formres" onSubmit="loadWords(); return false;">

    Danke ans Forum!!!!!!

    Hotte

    --
    Wenn der Kommentar nicht zum Code passt, kann auch der Code falsch sein.
  3. Hallo hotti,

    wenn du das Formular nicht abschicken willst und die Formularelemente nur für den Dialog mit dem Javascript benötigst, ist es besser, das umschließende Form-Tag wegzulassen und die Formularelemente mit DOM-Methoden anzusprechen.

    Gruß, Jürgen

    1. hi Jürgen,

      wenn du das Formular nicht abschicken willst und die Formularelemente nur für den Dialog mit dem Javascript benötigst, ist es besser, das umschließende Form-Tag wegzulassen und die Formularelemente mit DOM-Methoden anzusprechen.

      formtag muss scho sein:
      <form action="" name="" onSubmit="loadWords(); return false;">
                              ^ des isses! und dat geiht ;)

      Btw, mittlerweile ists zu früh zum gehen, aber zu spät, was neues anzufangen. Lösung: Sudoku.

      Viele Grüße,
      Hotte

      --
      Wenn der Kommentar nicht zum Code passt, kann auch der Code falsch sein.
      1. Hallo hotti,

        Btw, mittlerweile ists zu früh zum gehen, aber zu spät, was neues anzufangen. Lösung: Sudoku.

        dann mal viel Spaß.

        Gruß, Jürgen

      2. Mahlzeit,

        wenn du das Formular nicht abschicken willst und die Formularelemente nur für den Dialog mit dem Javascript benötigst, ist es besser, das umschließende Form-Tag wegzulassen und die Formularelemente mit DOM-Methoden anzusprechen.

        formtag muss scho sein:
        <form action="" name="" onSubmit="loadWords(); return false;">
                                ^ des isses! und dat geiht ;)

        Btw, mittlerweile ists zu früh zum gehen, aber zu spät, was neues anzufangen. Lösung: Sudoku.

        Gestern abend fetiggestellt: Vorwahlsuche mit Ajax, zum Testen :)

        Hotte

        --
        Wenn der Kommentar nicht zum Code passt, kann auch der Code falsch sein.
        1. Hallo hotti,

          Gestern abend fetiggestellt: Vorwahlsuche mit Ajax, zum Testen :)

          vieleicht ist ja so gewünscht, aber wenn man einen oder mehrere Buchstaben eingibt, enthält die Vorschlagsliste alle Orte, die diese Kombination enthalten und nicht nur die, die damit anfangen. Z.B. liefert "mü" nicht nur Mühlheim etc., sondern auch Schalksmühle. Außerdem werden die Orte nach der Vorwahl und nicht alphabetisch sortiert.

          Außerdem würde ich die Suche erst nach dem zweiten oder dritten Buchstaben starten.

          Gruß, Jürgen