Ich habe auf Grund einer Idee gerade mal schnell versucht, ob ein Tabindex was ändert.
Tut er nicht.
Mit
- input, tabindex=1
- submit,tabindex=3,value=1,disabled
- submit,tabindex=2,value=2
geschieht beim Drücken von Enter: nichts.
Gegenprobe ohne disabled. Mit
- input, tabindex=1
- submit,tabindex=3,value=1
- submit,tabindex=2,value=2
feuert beim Drücken der mit value 1. Die Spec selbst ist an dieser Stelle nicht konsequent, legt nur fest, dass deaktivierte Buttons beim Tabindex übergangen werden - nicht aber, dass der laut Tabindex nächste Button „onenter“ feuert.
Hm. Gegenprobe mit button type=button. Mit
- input, tabindex=1
- button,tabindex=3,value=1,disabled
- submit,tabindex=2,value=2
geschieht beim Drücken von Enter: nichts.
Das folgende krude Zeug (mit dem ich mir auch keine weitere Mühe gegeben habe) will ich nicht als Lösung betrachtet oder bezeichnet wissen:
„Reihenfolge der Inputs ändern, und/aber deren angezeigte Postion durch float zurück-ändern“.
<!Doctype html>
<html>
<form>
<input type="text" name="text" value="egal"> irgendwas
<br>
<div style="width:8rem">
<div>
<button type="submit" name="action"
value="2" style="float:right">mo’ action</button>
<button type="sunmit" name="action"
value="1" style="float:right" disabled>action</button>
</div>
</div>
</form>
</html>
Zumindest mit meinem Chrom feuert „mo’ action“, wenn man auf die Enter-Taste einprügelt: test.html?text=egal&action=2
Hat jemand eine bessere Idee als das ganze Formular mit JS derart krass umzuschreiben?