Ich benutze Funktionalität wo, wenn Validierung Fehler kommt dann goto Link erzeugt eine ID der erforderlichen Komponente mit Fokus() auf der Oberseite der Seite. Mit einem Klick auf diesen Link wird die gewünschte Komponente hervorgehoben. Jetzt funktioniert es, wenn der Fehler in der gleichen Registerkarte ist. Aber erste Registerkarte ist aktive Fokusfunktion, die nicht das erforderliche Textfeld in der dritten Registerkarte zeigt.Javascript Focus() funktioniert nicht von Tab1 zu Tab2 in Primzahlen
void encodeGotoLabel(FacesContext context, UIComponent component, ResponseWriter writer,
FacesMessage msg) throws IOException {
String id = getid(context, msg);
if (id != null && !FacesMessage.SEVERITY_INFO.equals(msg.getSeverity())
&& !FacesMessage.SEVERITY_FATAL.equals(msg.getSeverity())) {
String inputLabel = findInputLabel(context, id);
if (inputLabel != null) {
ResourceBundle bundle ="bundle";
writer.writeText(" (", null);
writer.writeText(bundle.getString("goTo") + " ", null);
writer.startElement("a", component);
writer.writeAttribute("href", "javascript:document.getElementById('" + id
+ "').focus();",
null);
writer.writeText(inputLabel, null);
writer.endElement("a");
writer.writeText(")", null);
}
}
}
vielleicht Element-ID ist gleich, so dass Sie nur das erste Element erhalten können. – user1087079
Frage nicht klar, was genau brauchen Sie? –
Möchten Sie zu der Registerkarte wechseln, wo ein Validierungsfehler vorliegt? –