2010-02-25 6 views
10

Ich habe Registerindex für die Eingabefelder in einem Formular definiert. Beim Durchblättern der Eingabefelder erhält der Submit-Button niemals den Fokus, einige andere Eingabefelder in einer anderen Form auf der Seite bekommen den Fokus. Jene haben Registerindizes höher als 3. Wie kommt es?Übermittlungsschaltfläche nicht fokussiert, obwohl Tabindex richtig festgelegt ist

<form action="subscription.php" name="subscribe" method="post" onsubmit="return isValidEmailAndEqual()"> 
<p id="formlabel">E-mail</p> <input type="text" name="email1" tabindex=1> 

<br/> 
<p id="formlabel">Repeat e-mail</p> <input type="text" name="email2" tabindex=2> <br/> 
<input id="inputsubmit" type="submit" value="Subscribe" tabindex=3> 
</form> 

CSS:

input { 
    background-color : #333; 
    border: 1px solid #EEE; 
    color: #EEE; 
    margin-bottom: 6px; 
    margin-top: 4px; 
    padding: 1px; 
    width : 200px; 
} 

#inputsubmit { 
    background-color : #d7e6f1; 
    border: 1px solid #EEE; 
    color: #0000ff; 
    margin-bottom: 6px; 
    margin-top: 4px; 
    padding: 1px; 
    width : 200px; 
} 

#inputsubmit:hover { 
    cursor: pointer; cursor: hand; 
    background-color : #d7e6f1; 
    border: 1px solid #0000ff; 
    color: #0000ff; 
    margin-bottom: 6px; 
    margin-top: 4px; 
    padding: 1px; 
    width : 200px; 
} 

p#formlabel{ 
    width: 100; 
} 
+0

Ich habe versucht, Ihren Code und es "Tabs" wie es sollte. Vielleicht beeinträchtigt etwas anderes auf Ihrer Seite die korrekte Tab-Reihenfolge? – Select0r

+0

Danke für Ihre Antwort! Nun, es funktioniert nicht sicher (mit Firefox). Könnte es etwas mit meinem Stylesheet zu tun haben? Ich habe meine Frage mit meinem Stylesheet aktualisiert. Ich mache zum Beispiel schwebende Dinge, kann das irgendwelche Auswirkungen haben? – Nicsoft

Antwort

10

Es ist ein Mac "Feature", um nur Tab Gedanken Eingabefelder und Listen standardmäßig zu lassen. Tabbing durch alle Kontrollen ist eine erweiterte Option:

http://support.mozilla.com/en-US/kb/Pressing+Tab+key+does+not+select+menus+or+buttons

Firefox auf Mac kopiert diese Standard-OS Verhalten.

+3

passiert auch auf Safari. Ich denke, es ist eher eine Mac-Sache - und dann ist es, ob der Browser die OS-Präferenz befolgt. Zu den Keyboard-Einstellungen in Mavericks zu gehen und dann "All controls" unter Full Keyboard Access zu aktivieren, funktionierte für mich. – awidgery

0

Sie müssen Registerkarte Indizes nicht definieren, könnte man sie auch geben - es sei denn, Sie die natürliche Ordnung der sie ändern möchten, wenn sie von sortiert bekommen ihre Schöpfung. Versuchen Sie, sie ganz herauszunehmen und zu sehen, ob es mehr nach Ihrem Geschmack funktioniert.

+0

Eigentlich hatte ich vorher keine Tabindexes definiert. Da es jedoch nicht möglich war, auf den Submit-Button zu wechseln, musste ich Tabindexes hinzufügen. Aber es hat immer noch nicht geholfen. Ich habe meine Frage mit meinen Stylesheet-Daten aktualisiert, zumindest einen Teil davon ... Weißt du nicht, ob das wichtig ist? – Nicsoft

+0

Es konzentriert sich für mich sowohl in Firefox als auch in Chrome - denkst du vielleicht kannst du es nicht sichtbar sehen? Versuchen Sie, einen dritten Stil für '#inputsubmit: focus' hinzuzufügen und sehen Sie, ob es funktioniert. – casraf

+0

Ich kann tatsächlich sehen, dass ein anderes Eingabefeld in einer anderen Form den Fokus erhält. Der Cursor blinkt in diesem Eingabefeld. Ich habe versucht, den #inputsubmit: focus Stil hinzuzufügen, aber es wird nicht beim Tabbing ausgelöst. Ich habe es auch auf Safari versucht, aber kein Glück. Auf einem Mac sitzen, aber es sollte keinen Unterschied machen, nehme ich an ... – Nicsoft

4

Ok, mal sehen. Ich habe oben Code in Firefox (Mac, Windows), Safari (Mac) und IE (Windows) versucht. Hier sind meine Ergebnisse:

Bei der Verwendung von

<button name="thename" type="submit">Subscribe</button> 

oder

<input id=\"inputsubmit\" type=\"submit\" value=\"Subscribe\"> 

für Absenden des Formulars (gleiches Ergebnis):

  • FF (Win) - Wenn der Tabulatortaste, die Fokus drückt die Taste
  • FF (Mac) - Beim Tab-Modus ist der Fokus nicht den Knopf drücken.
  • Safari (Mac) - Beim Tabulator wird der Fokus nicht auf die Schaltfläche gesetzt.
  • IE (Win) - Wenn Sie die Tabulatortaste drücken, scheint die Taste ständig in einem bestimmten Fokus zu sein und die Taste hat einen zusätzlichen Fokus, wenn Sie auf i tippen.
  • Für alle, wenn ein Element innerhalb des Formulars den Fokus hat, ist es möglich, nur die Eingabetaste zu drücken, um auf die Schaltfläche "Senden" zu klicken.

Ich denke, der Schluss so sein muss:

  1. Verschiedene Browser anders verhalten. Selbst derselbe Browser verhält sich auf verschiedenen Betriebssystemen (FF) anders.

  2. Das Standardverhalten eines Formulars besteht darin, dass durch das Drücken der Eingabetaste das Formular mit der ersten Übergabeschaltfläche im Formular gesendet wird.

  3. Ich denke, es ist schade, dass der Fokus nicht auf den Knopf beim Tabbing trifft, weil ich denke, dass ziemlich viele Benutzer den Fokus auf den Gegenstand erwarten, bevor er eintritt.

Oder was sagst du ...?

+1

1. Ich denke, es ist das Verhalten des Betriebssystems, das anders ist, nicht der Browser. Beachten Sie, dass Sie in allen Browsern der Windows-Version den Fokus erhalten, während Sie dies auf dem Mac nicht tun. 2. Es wird nicht Fokus - aber das Standardverhalten für ein Formular schlägt vor, gibt es mit der ersten Absenden-Schaltfläche im Formular ein. 3. Ich weiß nichts über andere Benutzer, aber ich erwarte, dass ich auf "Enter" klicke, wenn ich mit dem Formular fertig bin, unabhängig davon, auf was es sich konzentriert. – casraf

+0

2. Ich habe meine Antwort aktualisiert, um Ihren Kommentar zu reflektieren. 3. Ich normalerweise auf den Knopf und dann drücken Sie Enter, aber meine Mutter sagt mir, ich bin einzigartig, so ... – Nicsoft

+0

Haha. Naja, vielleicht bist du das;) es ist ein kleines Problem, und da ich keinen Mac habe, kann ich nicht wirklich sehen, dass es in Echtzeit passiert - also denke ich, dass ich dir momentan hypothetisch helfen kann. – casraf

9

Dies ist ein Mac OS X Problem.Ihr Mac ist möglicherweise so konfiguriert, dass Sie nicht zu Nicht-Textfeld-Elementen (z. B. Schaltflächen) wechseln können. Sie können dies ändern, indem Sie in die Systemeinstellungen für die Tastatur gehen. Klicken Sie dann auf den Shorcut Tab und schauen Sie sich den unteren Rand an und wählen Sie die Option, um den Fokus auf alle Steuerelemente zu setzen. Sie sollten jetzt in der Lage sein, sich auf die Schaltflächen in Safari und Firefox zusätzlich zu allen Schaltflächen in Mac OS zu konzentrieren.

Um die Einstellung auf Ihrem Mac schnell zu ändern, drücken Sie STRG + F7 (oder wenn Sie eine Mac-Tastatur verwenden, halten Sie die Funktionstaste gedrückt und drücken Sie STRG + F7).

Verwandte Themen