Gernot Back: Submit-Button via JS deaktivieren

Beitrag lesen

Hallo Stephan,

warum hälst du das für geschickter ?

Wenn du document.getElementById() benutzt, schickst du deinen Browser "über Japan nach Schlesien", erst hinaus aus deinem Formelement hinauf bis ganz nach oben ins Document-Element, um dann wieder in just demselben Formelement zu landen, das du verändern willst.

Damit sich dein armer Rechner überhaupt zurechtfindet und die Orientierung nicht verliert, musst du entsprechende IDs vergeben, die du dann als Parameter bei Funktionsaufrufen übergibst. Du musst als Programmierer höllisch aufpassen, dass die Parameter und die IDs übereinstimmen. Ich glaube sogar, dass genau das dein aktuelles Problem ist.

Wenn du dein Formular aus einem seiner Elemente heraus über dessen Eigenschaft [linkhttp://de.selfhtml.org/javascript/objekte/elements.htm#form@title=form] ansprichst, brauchst du keine ID, ja brauchst für dein Formular noch nicht einmal einen Namen und übergibst ggf. immer nur this als Parameter. Der Funktion ist dann automatisch klar, worauf sie sich beziehen soll und sie muss keine Umwege über das document-Objekt gehen. Deinem Rechner ersparst du damit wahrscheinlich einige Operationen, auch wenn du den Geschwindigkeitsunterschied als Nutzer nicht bemerkst.

Davon abgesehen kommen mit dem Forms-Objekt auch ältere Browser klar, die document.getElementByIrgendwas() noch nicht verstehen.

ID ist natürlich vergeben. Lasse ich mir der Status von "disabled" ausgeben, ändert sich dieser auch, allerdings bleibt der Button weiterhin klickbar, was ich wirklich nicht verstehe.

Da musst du irgendeinen Flüchtigkeitsfehler gemacht haben, aber den können wir ggf. natürlich auch nur anhand deines Codes sehen.

Möglicherweise hast du ja eine XHTML-Datei und die zugewiesene Eigenschaft des Attributs "disabled" darf nicht "true", sondern muss ihrerseits auch "disabled" heißen, keine Ahnung ob das da möglicherweise auch Auswirkungen auf JS hat.

Gruß Gernot