Deusex: Return Taste Sperren

Hallo,

wer kann mir helfen, ich würde gern die Return Taste Sperren damit mein Formular nur durch drücken von ALT-S (schon definiert) oder auf den Submit Button abgeschickt wird.

Ich hab hierzu schon einen Thread gefunden. Aber leider hats da nicht wirklich nen Antwort drauf gegeben weil es jeder unsinnig fand das zu speeren.

http://forum.de.selfhtml.org/archiv/2002/3/5902/

aber bei mir is das WIRKLICH GANZ SINNVOLL weil zwischen 20 und 25 Felder übertragen werden sollen.

----------------------------

zusätzlich würd ich gern wissen, ob jemand eine Idee hat wie ich den Submit Button erst dann aktivieren kann wenn eine eingabe in einer der Felder statt gefunden hat.

Vielen Vielen Vielen dank für euere Antworten

Deus :)

  1. Hallo,

    wer kann mir helfen, ich würde gern die Return Taste Sperren damit mein Formular nur durch drücken von ALT-S (schon definiert) oder auf den Submit Button abgeschickt wird.

    Ich hab hierzu schon einen Thread gefunden. Aber leider hats da nicht wirklich nen Antwort drauf gegeben weil es jeder unsinnig fand das zu speeren.

    http://forum.de.selfhtml.org/archiv/2002/3/5902/

    aber bei mir is das WIRKLICH GANZ SINNVOLL weil zwischen 20 und 25 Felder übertragen werden sollen.

    ==> Bis hier ist jetzt alles klar, ... die Lösung

    <form onsubmit="return event.type=='click';">
    <input type="hidden" name="opencat" value="JavaScripts">
    <input type="hidden" name="artid" value="985108828">
    <input type=text>
    <input type=submit onclick="this.form.submit(event)" accesskey="s">
    </form>


    zusätzlich würd ich gern wissen, ob jemand eine Idee hat wie ich den Submit Button erst dann aktivieren kann wenn eine eingabe in einer der Felder statt gefunden hat.

    das klappt leider immer noch nicht so ganz ;(

    Vielen Vielen Vielen dank für euere Antworten

    Deus :)

    1. Hallo.

      wer kann mir helfen, ich würde gern die Return Taste Sperren damit mein Formular nur durch drücken von ALT-S (schon definiert) oder auf den Submit Button abgeschickt wird.

      Nur einige wenige Browser unterstützten accesskey.

      Ich hab hierzu schon einen Thread gefunden. Aber leider hats da nicht wirklich nen Antwort drauf gegeben weil es jeder unsinnig fand das zu speeren.

      Und das verleitet dich nicht zu dem Gedanken, dass es eventuell tatsächlich nervig den Benutzer sein könnte?

      aber bei mir is das WIRKLICH GANZ SINNVOLL weil zwischen 20 und 25 Felder übertragen werden sollen.

      Mache die Überprüfung ("Sind die eingegebenen Daten richtig, wollen Sie noch etwas hinzufügen..." blabla murks und so weiter) serverseitig. Oder baue eine Abfrage bei onsubmit ein: http://forum.de.selfhtml.org/archiv/2002/3/5902/#m32885.

      ==> Bis hier ist jetzt alles klar, ... die Lösung

      <form onsubmit="return event.type=='click';">
      <input type="hidden" name="opencat" value="JavaScripts">
      <input type="hidden" name="artid" value="985108828">
      <input type=text>
      <input type=submit onclick="this.form.submit(event)" accesskey="s">
      </form>

      Das verstehe ich nicht. event.type ist immer submit und demnach ist der Ausdruck äquivalent zu return false. Außerdem hat submit() keine Parameter.
      Opera kennt das event-Objekt nicht.

      zusätzlich würd ich gern wissen, ob jemand eine Idee hat wie ich den Submit Button erst dann aktivieren kann wenn eine eingabe in einer der Felder statt gefunden hat.

      Ich hätte an so etwas gedacht:
      <form name="formular">
      <p>
      <input type="text" onchange="document.formular.sub.removeAttribute('disabled')">
      <input type="submit" name="sub" value="murks" disabled="disabled">
      </p
      </form>

      Aber da muss der Anwender noch einmal aus dem Feld heraus, also es verlassen durch einen Klick, d.h. beim Druck der Tabulatortaste wird nicht der Submitbutton angesprungen.
      Interessanterweise geht der DOM-Zugriff auch über das forms-Objekt bzw. document.[Formularname].[Eingabefeldname]... war mir neu.

      Mathias

      1. Mei super du bist der HIT, vielen vielen dank, ich kenn mich mit javascript leider nicht so toll aus:

        Anfänger |==||=================================|Profi

        ;))

        Ich hab hierzu schon einen Thread gefunden. Aber leider hats da nicht wirklich nen Antwort drauf gegeben weil es jeder unsinnig fand das zu speeren.

        Und das verleitet dich nicht zu dem Gedanken, dass es eventuell tatsächlich nervig den Benutzer sein könnte?

        Also ich versuchs mal das so zu erklären: "so eine funktion kann durch aus ihren sinn haben. Stell dir mal vor du hast ein formular mit dem du ständig arbeiten musst (Artikel schreiben) und jedesmal wenn du in nem Textfeld return drückst (versehens) wird der Artikel gespeichert obwohl du das vielleicht zu diesem zeit punkt (warum auch immer) garnicht wolltest".

        Deshalb will ich, dass wenn ein speicher vorgang gestartet wird, dieser auch 100%-ig vom Benutzer ausgeht und nicht von nem eingabefehler den er macht. Und ich denke das man nach ein paar stunden arbeit mit solchen Formularen schonmal versehens die eingabetaste drückt und der ganze misst dann in die datenbank wandert und das man sich dann ärgert weil man vielleicht noch garnicht speicher wollte (warum auch immer).

        Naja egal nochmals vielen vielen dank hast mir SEHR geholfen

        Grüße Alex

        1. Hallo, Alex.

          Mei super du bist der HIT

          Nee, lol, nicht wirklich. Aber tut nichts zur Sache.

          ich kenn mich mit javascript leider nicht so toll aus:
          Anfänger |==||=================================|Profi
          ;))

          Ich arbeite selten bis nie aktiv mit JavaScript (nur wenn es sinnvoll http://piology.org/IR/js.html ist :)), ich habe dahingehend auch wenig Erfahrung und bin auch nicht wirklich gewillt, mich weiterzubilden. Wenn überhaupt, dann kenne ich das DOM und seine Methoden, weil es nicht nur etwas mit ECMAScript zu tun hat, aber dieser Mickeysoft- und Netscape-so-called-HTML-Quatsch ist mir fremd.

          Ich hab hierzu schon einen Thread gefunden. Aber leider hats da nicht wirklich nen Antwort drauf gegeben weil es jeder unsinnig fand das zu speeren.

          Und das verleitet dich nicht zu dem Gedanken, dass es eventuell tatsächlich nervig den Benutzer sein könnte?

          Also ich versuchs mal das so zu erklären: "so eine funktion kann durch aus ihren sinn haben. Stell dir mal vor du hast ein formular mit dem du ständig arbeiten musst (Artikel schreiben) und jedesmal wenn du in nem Textfeld return drückst (versehens) wird der Artikel gespeichert obwohl du das vielleicht zu diesem zeit punkt (warum auch immer) garnicht wolltest".

          Das sehe ich durchaus ein, ich plädiere selbst dafür, ein Formular benutzbar und "idiotensicher" zu machen; der Benutzer sollte eine Fehleingabe korrigieren können bzw. die Seite/das "System" muss mit solchen versehentlichen Eingaben rechnen.
          Ich sagte auch lediglich, dass es wenig Sinn macht, die Returntaste als solche zu sperren. Einen Satz später habe ich darauf hingewiesen, dass man mit JavaScript ein onsubmit="return window.confirm('Sind sie sich sicher?')" et cetera einblenden könnte. Aber auf diese JavaScript-Abfrage sollte man sich nicht verlassen, deshalb ist es hilfreich, zuerst eine "Vorschau"-Option anzubieten, oder dem Benutzer die Möglichkeit zu geben, die Formulareingaben noch einmal zu verifizieren (eine serverseitig generierte Seite, welche den Benutzer zum Überprüfen der Formulardaten bittet) oder sie im nachhinein zu ändern. An manchen Boards[tm] mag ich die Editieren-Funktion sehr gerne, wobei sie auch Nachteile hat (man kann sich selbst zensieren *fg*).
          Dass man neben den Formularen Hinweise für die Benutzung anbringt, wurde hier im Thread schon genannt, oder ich habe es im von mir verlinkten gelesen.... wie auch immer.

          Deshalb will ich, dass wenn ein speicher vorgang gestartet wird, dieser auch 100%-ig vom Benutzer ausgeht und nicht von nem eingabefehler den er macht. Und ich denke das man nach ein paar stunden arbeit mit solchen Formularen schonmal versehens die eingabetaste drückt und der ganze misst dann in die datenbank wandert und das man sich dann ärgert weil man vielleicht noch garnicht speicher wollte (warum auch immer).

          Full ACK, eine Seite bzw. eine Webapplikation muss in diesem Punkt dem Benutzer weitesgehend entgegenkommen. Das ist eine grundlegende Regel von Usability.

          Grüße,
          Mathias

          1. Na schau dann sind wir ja einer meinung,

            so und ich gebs jetzt auf ich hab zwar ein paar nette sachen zum thema Enter sperren und soooo gefunden

            es nervt mich aber weil alle funktionen nicht 100% Browser konform sind, dann kommt es halt nicht in mein system rein ist auch kein zu großer schaden obwohls schon gewesen währ da es schon in 3 von 4 browsern lief aber Opera macht halt net immer mit

            zum glück funktionieren die restlichen funktionen in 100 % der browser der rest is eh serverseitig (wer verlässt sich schon auf Javascript) :))