Внимание набора на компонент с Калиткой Apache?

Как Вы устанавливаете внимание на компонент с Калиткой Apache? Поиск приводит к очень небольшой информации, главным образом при установке поля по умолчанию. Я не хочу устанавливать поле по умолчанию, скорее я надеюсь устанавливать фокус, когда, например, определенный переключатель устанавливается.

7
задан Dolph 20 April 2010 в 23:45
поделиться

2 ответа

Создав поведение для установки фокуса, вы сможете добавить его к компоненту для любого события, просто убедитесь, что этот компонент является частью AjaxRequestTarget. Я не понимаю, почему это не сработает ...

myRadioButton.add(new AjaxEventBehavior("onchange") {
 @Override
 protected void onEvent(AjaxRequestTarget target) {
    myOtherComponent.add(new DefaultFocusBehavior());
        target.addComponent(myForm);
 }
});

Вот ссылка, которая показывает, как создать поведение фокуса по умолчанию, если у вас его еще нет: http: // javathoughts .capesugarbird.com / 2009/01 / wicket-and-default-focus-behavior.html

8
ответ дан 6 December 2019 в 06:13
поделиться

Если вы хотите установить фокус только через javascript и не хотите перезагружать форму или компонент, вы можете использовать следующий код:

import org.apache.wicket.Component;

public class JavascriptUtils {
    private JavascriptUtils() {

    }

    public static String getFocusScript(Component component) {
        return "document.getElementById('" + component.getMarkupId() + "').focus();";
    }
}

А затем в любом методе Ajax, который вы можете использовать:

target.appendJavascript(JavascriptUtils.getFocusScript(componentToFocus));
3
ответ дан 6 December 2019 в 06:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: