Martin Grigorov <mgrigorov <at> apache.org> writes:

> 
> I'm not sure what Igor meant with this suggestion.
> 
> I think .setDefaultButton() should do what you need.
> 
> Here is another suggestion from me:
> 
> Add a non-Ajax behavior to the text field which adds 'keyup' event
> handler. When the user types something in the field then check the
> keyCode from the event and if it is 13 then call
> 'document.getElementById("submitButtonId").click()'.

I describe my problem agin

I have a form and few panels in it.

In panel 'A' i have search button , panle 'A' consist of set of other panels 
'B'.
panel 'B' has few fields for example field 'F' 

Each panel is implemented in sepearate java class

I have requirement wherein after entering text in the field 'F' on press of 
"Enter" 
button search should be performed with out click of search button.

To achieve this i tried following snippet

 add(new AjaxEventBehavior("onkeypress")
      {
        @Override protected CharSequence getCallbackScript(boolean 
onlyTargetActivePage)
        {
          return generateCallbackScript("wicketAjaxGet('" + 
getCallbackUrl(onlyTargetActivePage) + "&" + KEYPRESS_PARAM + 
"='+wicketKeyCode(event)");
        }

        @Override protected void onEvent(AjaxRequestTarget target)
        {
          String paramValue = 
RequestCycle.get().getRequest().getParameter(KEYPRESS_PARAM);
  int key = Integer.parseInt(paramValue);
            if (key == 13)
            {
               submitSearchForm();
             }
        }    

    });
but using above the text in the field is cleared and get wrong search. but when 
i remove focus from the field and press "Enter" i get desired result.

My question here is how to perform search, remaining in the field(with focus in 
the field)

or their any other approach to get my requirement 

i also tried
 Form form = findParent(Form.class);
    if (form != null)
    {
      form.setDefaultButton(searchButton);
    }

but form is always null for me

i also tried Igor's idea

i get below error on using AjaxFormComponentUpdatingBehavior 

WicketMessage: Behavior 
nl.planon.hera.filters.quicksearch.PnWebAdvancedSearchPanel$3 can only be added 
to an instance of a FormComponentRoot 
cause:org.apache.wicket.WicketRuntimeException: Behavior 
nl.planon.hera.filters.quicksearch.PnWebAdvancedSearchPanel$3 can only be added 
to an instance of a FormComponent

Regards
Krishna 



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to