Rolf B: wie kann ein input submit passiv geschaltet werden?

Beitrag lesen

Hallo Linuchs,

Per javascript schalte ich die Neueingabe-Schaltfläche mit display:none aus und die Änder-Schaltfläche mit display:inline-block ein.

Wie JJ schon sagte: Ist das die richtige Idee? Ist immer nur einer der beiden Buttons sichtbar?

In dem Fall mach nur einen Button und schalte per JavaScript Text und Wert um. Mit dem button-Element geht das einfacher als mit einem submit-Input, weil bei button-Element value und Anzeigetext getrennt gesetzt werden können.

<form name="xyForm" ...>
   <button name="speichern" value="neu">Neu anlegen</button>
</form>
let button = forms.xyForm.speichern;
if ( /* neu anlegen */) {
  button.value = "neu";
  button.textContent = "Neu anlegen";
} else {
  button.value = "aendern";
  button.textContent = "Ändern";
}

Wenn es Fälle gibt, wo Du wirklich beide Buttons brauchst, aber in dem Fall, wo der erste Button inaktiv ist, ihn nicht als Default-Button willst, ändere seinen type auf "button". Wird er aktiviert, ändere den type auf "submit".

Nur submit-Buttons reagieren auf ENTER.

Mit input type="submit" geht das nicht so einfach. Ein input-Element mit name wird immer submitted, da müsstest Du auch noch das name-Attribut entfernen um das zu verhindern.

Rolf

--
sumpsi - posui - obstruxi