Я использую функциональность, где, если ошибка проверки возникает, тогда ссылка goto генерирует идентификатор требуемого компонента с фокусом() в верхней части страницы. При щелчке по этой ссылке выделяется необходимый компонент. Теперь он работает, если ошибка находится на одной вкладке. Но первая вкладка - активная функция фокуса, не указывающая требуемое текстовое поле внутри третьей вкладки.javascript focus() не работает от tab1 до tab2 в простых элементах
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);
}
}
}
Возможно, элемент id такой же, поэтому вы можете получить только первый элемент. – user1087079
вопрос непонятен, что это именно то, что вам нужно? –
Вы хотите переключиться на вкладку, где есть ошибка проверки? –