Rolf B: Formular per JS absenden

Beitrag lesen

Hallo Matthias,

hier spricht die Spec:

interface HTMLButtonElement : HTMLElement {
           attribute boolean autofocus;
           attribute boolean disabled;
  readonly attribute HTMLFormElement? form;
           attribute DOMString formAction;
           attribute DOMString formEnctype;
           attribute DOMString formMethod;
           attribute boolean formNoValidate;
           attribute DOMString formTarget;
           attribute DOMString name;
           attribute DOMString type;
           attribute DOMString value;

  readonly attribute boolean willValidate;
  readonly attribute ValidityState validity;
  readonly attribute DOMString validationMessage;
  boolean checkValidity();
  void setCustomValidity(DOMString error);

  readonly attribute NodeList labels;
};

==> Geht nicht.

Was man machen könnte, aber keinesfalls sollte, wäre ein Button der auf dem aktiven Form die submit() Methode aufruft. Damit geht aber die Verbindung Form - Submitbutton verloren, insbesondere das standardmäßige Behandeln der ENTER Taste für Submit.

Es wäre vermutlich besser, den Submitbutton aus der Iconleiste herauszuholen und je einen eigenen Button auf das jeweilige Form zu legen. Alternativ könnte man ihn auch mit position:absolute aus dem Form in die Iconleiste verschieben, das dürfte aber die responsiveness massiv erschweren.

Oder man legt beide Forms zu einem zusammen, benennt die Felder so dass die Zugehörigkeit erkennbar ist, und verarbeitet je nach Sichtbarkeit (die man über den name des Submitbutton steuern kann - dieses Attribut ist nicht schreibgeschützt) die einen oder die anderen Felder.

Rolf

--
sumpsi - posui - clusi