使用事件"onkeyup"获取输入数据

kam*_*mil 2 java wicket

在触发事件"onkeyup"时获取输入数据我遇到了小问题.我有这样的输入和其他数据:

// El-cheapo model for form
private static final ValueMap cheapModel = new ValueMap();
//some code...
//...

Form form = new Form( "pushNotificationForm" );
form.setOutputMarkupId( true );

final Label actualSizeLabel = new Label( ACTUAL_NOTIFICATION_SIZE_ID, new Model<String>( actualSize ) );
actualSizeLabel.setOutputMarkupId( true );

final TextField<String> titleTextField = new TextField<String>( TITLE_TEXTFIELD_ID, new PropertyModel<String>(
            cheapModel, TITLE_TEXTFIELD_ID ) );
    titleTextField.setRequired( true );
    titleTextField.add( new AjaxEventBehavior( "onkeyup" )
    {
        @Override
        protected void onEvent( AjaxRequestTarget ajaxRequestTarget )
        {
            actualSize = Integer.toString( (getTitle() ).getBytes().length );
            ajaxRequestTarget.add( actualSizeLabel );
        }
    } );
form.add( titleTextField );
form.add( actualSizeLabel );
//.. some code
//later
private String getTitle()
{
    return cheapModel.getString( TITLE_TEXTFIELD_ID );
}
Run Code Online (Sandbox Code Playgroud)

actualSize保持为null,直到我提交表单,但为什么?请帮忙

biz*_*lop 5

你需要AjaxFormComponentUpdatingBehavior.但是,由于您的行为附加到onkeyup事件,您可能还想使用限制.