Re: Several Form onSubmit, is it possible add via AbstractBehavior?

2013-02-18 Thread Paul Bors
As per the JavaDocs:
http://ci.apache.org/projects/wicket/apidocs/1.5.x/org/apache/wicket/ajax/markup/html/form/AjaxFallbackButton.html#onSubmit(org.apache.wicket.ajax.AjaxRequestTarget,
org.apache.wicket.markup.html.form.Form)
Callback for the onClick event. If ajax failed and this event was generated
via a normal submission, the target argument will be null

*Parameters:*target - ajax target if this linked was invoked using ajax,
null otherwise
I belive your target is null because you are using a fallback button and
you might have JavaScript turned off in your browser?

~ Thank you,
   Paul Bors
On Fri, Feb 15, 2013 at 5:42 AM, Alex avat...@yahoo.com wrote:

 As I understand the only way to catch the form's onSubmit is by analyze
 form
 components validation which is performed by form submitting. And if
 validation is successful then form submit will be done for sure. Am I
 correct understand?

 Trying to find workaround for this issue,in MyCustomBehavior I found form's
 button and added AjaxEvenBehavior(onclick) to it. Strangely but
 form.getDefaultButton() returned null and the only way to get form's Button
 component is the traversing over all the form components and finding a
 button component (not sure if it best way). So when I clicked the button
 the
 AjaxEventBehavior.onEvent occurs (in MyCustomBehavior) and next
 AjaxFallbackButton.onSubmit on main form had invoked. But I found that the
 target parameter is null in main onSubmit handler of form's
 AjaxFallbackButton. What wrong in this case? Why the target is null in
 form's buton handler and not null in the form Behavior's button handler.
 This is the same button in fact. In the form it have onSubmit handler, and
 in MyCustomBehavior it have onEvent handler. A piece of code is given
 below...
 Thanks a lot for help.

 public class MyCustomBehavior extends AbstractBehavior {
 ..
@Override
 public void onConfigure(Component component) {
 // this.form.getDefaultButton() - return null in fact (why)

 Iterator? extends Component iter = form.iterator();
 while (iter.hasNext()) {
 FormComponent? fc =
 (FormComponent?)iter.next();
 if (fc.isEnabled()  (fc instanceof Button)) {
 fc.add(new AjaxEventBehavior(onclick) {
 private static final long
 serialVersionUID = 1L;

 @Override
 protected void
 onEvent(AjaxRequestTarget target) {
 // here target is not null

 System.out.println(clicked );
 }
 });
 };
  } // end of while
 } // end of onConfigure
 
 }

 // Main page
 
 form.add(new AjaxFallbackButton(submit,form) {
  protected void onSubmit(AjaxRequestTarget target, Form?
 aForm) {
 // here target is null (why?)
.
   // some main actions for form submit...
  }
 });
 .
 form.add(new MyCustomBehavior(feedback));
 ...
 // End of main page



 -
 Best wishes,
 Alex.
 --
 View this message in context:
 http://apache-wicket.1842946.n4.nabble.com/Several-Form-onSubmit-is-it-possible-add-via-AbstractBehavior-tp4656347p4656393.html
 Sent from the Users forum mailing list archive at Nabble.com.

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




Re: Several Form onSubmit, is it possible add via AbstractBehavior?

2013-02-15 Thread Sven Meier
You could add a custom Behavior to your FormCompoments. Let this 
Behavior implement IValidator and it will get notice of a form submit 
via #validate().


Hope this helps
Sven

On 02/14/2013 07:05 AM, Alex wrote:

Hi. I have AjaxFallbackButton on the form with defined onSubmit handler.
There also one custom AbstractBehavior added  to the form. This Behavior
does some action with form's components (add event handlers for form's text
controls) and next should intercept form's onSubmit event to do some action
also. I try do this by adding form.AjaxFormSubmitBehavior(form, onsubmit)
in this  AbstractBehavior (do this by override the onConfigure). As a result
only AjaxFormSubmitBehavior.onSubmit handler of MyCustomBehavior invoked but
form button's onSubmit is ignored. What is wrong in this case? Is it
possible to add additional onSubmit action to the form via custom Behavior
like in my case?
Thanks for advice.

..
form.add(new AjaxFallbackButton(submit,form) {
protected void onSubmit(AjaxRequestTarget target, Form?
aForm) {
   // some mail form submit actions
}
  });

form.add(new MyCustomBehavior(feedbackPanel));
..

public class MyCustomBehavior extends AbstractBehavior {
private FeedbackPanel feedback;
private Form form;

public MyCustomBehavior(FeedbackPanel feedback) {
  this.feedback = feedback;
}

@Override
 public void bind(Component component)  {
   super.bind(component)
   // here initialize form 
   this.form = (Form) component;
 }

@Override
public void onConfigure(Component component) {
 // here form's text controls event handlers added via
AjaxFormComponentUpdationBehavior
 this.form.add(new AjaxFormSubmitBehavior(this.form, onsubmit)
{
 @Override
protected void onSubmit(AjaxRequestTarget target) {
// form submit action, set flag of some
operation
// this onSubmit handler should be invoked
after main form onSubmit handler
 }
 @Override
protected void onError(AjaxRequestTarget target) {
 }
 }
 }
}





--
View this message in context: 
http://apache-wicket.1842946.n4.nabble.com/Several-Form-onSubmit-is-it-possible-add-via-AbstractBehavior-tp4656347.html
Sent from the Users forum mailing list archive at Nabble.com.

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




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



Re: Several Form onSubmit, is it possible add via AbstractBehavior?

2013-02-15 Thread Alex
As I understand the only way to catch the form's onSubmit is by analyze form
components validation which is performed by form submitting. And if
validation is successful then form submit will be done for sure. Am I
correct understand? 

Trying to find workaround for this issue,in MyCustomBehavior I found form's
button and added AjaxEvenBehavior(onclick) to it. Strangely but
form.getDefaultButton() returned null and the only way to get form's Button
component is the traversing over all the form components and finding a
button component (not sure if it best way). So when I clicked the button the
AjaxEventBehavior.onEvent occurs (in MyCustomBehavior) and next
AjaxFallbackButton.onSubmit on main form had invoked. But I found that the
target parameter is null in main onSubmit handler of form's
AjaxFallbackButton. What wrong in this case? Why the target is null in
form's buton handler and not null in the form Behavior's button handler.
This is the same button in fact. In the form it have onSubmit handler, and
in MyCustomBehavior it have onEvent handler. A piece of code is given
below...
Thanks a lot for help.

public class MyCustomBehavior extends AbstractBehavior { 
..
   @Override
public void onConfigure(Component component) {
// this.form.getDefaultButton() - return null in fact (why)

Iterator? extends Component iter = form.iterator();
while (iter.hasNext()) {
FormComponent? fc = (FormComponent?)iter.next();
if (fc.isEnabled()  (fc instanceof Button)) {
fc.add(new AjaxEventBehavior(onclick) {
private static final long 
serialVersionUID = 1L;

@Override
protected void 
onEvent(AjaxRequestTarget target) {
// here target is not null  
System.out.println(clicked 
);
}
});
};  
 } // end of while 
} // end of onConfigure

}

// Main page

form.add(new AjaxFallbackButton(submit,form) {
 protected void onSubmit(AjaxRequestTarget target, Form? 
aForm) {
// here target is null (why?)
   .
  // some main actions for form submit...
 }
}); 
.
form.add(new MyCustomBehavior(feedback));
...
// End of main page



-
Best wishes,
Alex.
--
View this message in context: 
http://apache-wicket.1842946.n4.nabble.com/Several-Form-onSubmit-is-it-possible-add-via-AbstractBehavior-tp4656347p4656393.html
Sent from the Users forum mailing list archive at Nabble.com.

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



Several Form onSubmit, is it possible add via AbstractBehavior?

2013-02-14 Thread Alex
Hi. I have AjaxFallbackButton on the form with defined onSubmit handler.
There also one custom AbstractBehavior added  to the form. This Behavior
does some action with form's components (add event handlers for form's text
controls) and next should intercept form's onSubmit event to do some action
also. I try do this by adding form.AjaxFormSubmitBehavior(form, onsubmit)
in this  AbstractBehavior (do this by override the onConfigure). As a result
only AjaxFormSubmitBehavior.onSubmit handler of MyCustomBehavior invoked but
form button's onSubmit is ignored. What is wrong in this case? Is it
possible to add additional onSubmit action to the form via custom Behavior
like in my case? 
Thanks for advice.

..
form.add(new AjaxFallbackButton(submit,form) {
   protected void onSubmit(AjaxRequestTarget target, Form?
aForm) {
  // some mail form submit actions
   }
 });

form.add(new MyCustomBehavior(feedbackPanel));
..

public class MyCustomBehavior extends AbstractBehavior {
   private FeedbackPanel feedback;
   private Form form;

   public MyCustomBehavior(FeedbackPanel feedback) {
 this.feedback = feedback;
   }

   @Override
public void bind(Component component)  {
  super.bind(component)
  // here initialize form 
  this.form = (Form) component;
}

   @Override
public void onConfigure(Component component) {
// here form's text controls event handlers added via
AjaxFormComponentUpdationBehavior
this.form.add(new AjaxFormSubmitBehavior(this.form, onsubmit)
{
@Override
protected void onSubmit(AjaxRequestTarget target) {
   // form submit action, set flag of some
operation
   // this onSubmit handler should be invoked
after main form onSubmit handler
} 
@Override
protected void onError(AjaxRequestTarget target) {
}
}
}
}





--
View this message in context: 
http://apache-wicket.1842946.n4.nabble.com/Several-Form-onSubmit-is-it-possible-add-via-AbstractBehavior-tp4656347.html
Sent from the Users forum mailing list archive at Nabble.com.

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