Michael W.: OnEnter

Hallo,

ich hab gemerkt das es OnEnter nicht gibt (Archiv) und man dafür OnSubmit im <Form>-Tag einsetzt aber das funktioniert bei mir nicht bzw. es funktioniert schon, nur nicht in folgendem zusammenhang:

<script type="text/javascript">
<!--

sta = '';  <- hier werden die variablen deklariert
such = ''; <-

function main()
{
 parameter = 'sortsta=' + sta + '&such=' + such;
 parent.forum.location.href = 'forum.php?' + parameter;
}

function sta_filter()
{
 sta = document.form.sta.value;
 main()
}

function text_filter()
{
 such = document.form.such.value;
 main()
}

-->
</SCRIPT>

der sta_filter wird durch ein dropdownmenü und per onchange angewählt der text filter durch einen button mit oncklick - und soweit geht das auch, jedoch habe ich nun das problem, wenn jemand nicht den button benutzt und auf enter drückt wird die seite neu geladen und somit die variablen zurückgesetzt und genau das passiert auch mit onsubmit (warum auch immer). gäbe es OnEnter dann hätte ich die in das textfeld eingebaut...

was könnte ich noch tun?

MfG
Michael Wölk

  1. Hallo

    was könnte ich noch tun?

    Wie du ja aus dem Kapitel über den event-Handler "onSubmit" weißt, kannst du erreichen, dass das Formular nur abgeschickt wird, wenn eine bestimmte Bedingung erfüllt ist. Baue dir das ganze also so zusammen, dass die Bedingung immer unerfüllt ist und schon wird auch das Formular nicht mehr abgeschickt...
    Andere Fragen:
    Was ist wenn ich kein JS aktiviert habe?
    Und laufen so wichtige Funktionen in den JS-Routinen ab? Weil sonst nimm einfach einen submit-Button, der würde ja das Gleiche machen was du jetzt per JS machst, nur eleganter :)

    Grüße

    David

    --
    "Nobody will ever need more than 640k RAM!"
    1981 Bill Gates
    1. was könnte ich noch tun?
      Wie du ja aus dem Kapitel über den event-Handler "onSubmit" weißt, kannst du erreichen, dass das Formular nur abgeschickt wird, wenn eine bestimmte Bedingung erfüllt ist. Baue dir das ganze also so zusammen, dass die Bedingung immer unerfüllt ist und schon wird auch das Formular nicht mehr abgeschickt...

      Wie erreiche ich das? wie kann man sowas einbauen?

      Andere Fragen:
      Was ist wenn ich kein JS aktiviert habe?
      Und laufen so wichtige Funktionen in den JS-Routinen ab? Weil sonst nimm einfach einen submit-Button, der würde ja das Gleiche machen was du jetzt per JS machst, nur eleganter :)

      Das ist keine öffentliche page! die nutzer dieses forums sind alles interne user eines intranets und die haben js zu aktivieren.

      ob das eleganter ist oder nicht, wie schon geschildert müssen die variablen immer "aktiv" sein. das könnte ich natürlich auch mit ner php session machen, aber da brauche ich den button. ich brauche alleine wegen den dropdownmenüs onchange und somit js mit nem button wäre das genau ein schritt zuviel (weniger ist mehr - ist das prinzip des ganzen projekts).

      aber geb mir mal bitte nen link oder ein beispiel wie du das mit dem "immer unerfüllt" meinst.

      Danke
      MfG
      Michael W.

      1. aber geb mir mal bitte nen link oder ein beispiel wie du das mit dem "immer unerfüllt" meinst.

        function pla(plax) {
          plapla;
          plapla;
          return false;
        }

        und nach submit() oder [Enter] sollte sollte das Formular nicht mehr abgesendet werden.

        Oder gleich so:

        <form onSubmit="pla();return false">

        Nur was machst Du, wenn Du das Formular eventuell doch absenden willst...

        function pla(plax) {
         if (plax==senden) {
           return true;
         } else {
           return false;
         }
        }

        Alles klar?

        fastix