You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by "Brown, Berlin [GCG-PFS]" <Be...@Primerica.com> on 2011/01/28 04:46:41 UTC
Submit form from ajaxlink not a part of the form
So, I was able to submit a form WITHOUT ajax. Now, how can I submit a
form with ajax but from a link not associated with that form. I tried
the following. But, I couldn't get the proper URLs / Button? Are
those needed for the wicketSubmFormById call?
Also, do i have an issue using target.appendJavascript(...);
...
If you look at the event handler method,
public class MyPanel {
public static final String
JS_SUBMIT_THIS_WORKS_BUT_HOW_TO_SUBMIT_BY_AJAX = "try {
document.forms['%s'].submit(); } catch(err) { alert('ERR:' + err); if
(window.console != undefined) { console.log(err); } }";
this.add(new AjaxLink<Object>("link") {
@Override
public void onClick(final AjaxRequestTarget target) {
// Find the dynamic form on the page.
final Object objAtStopTraversal =
getParentContainer().visitChildren(new FindFormVisitor());
if (objAtStopTraversal instanceof Form<?>) {
// Form found, invoke javascript submit
final Form<?> form = (Form<?>) objAtStopTraversal;
target.appendJavascript(getEventHandler(form.getMarkupId(), ???, this));
}
}
} );
protected CharSequence getEventHandler(final String formMarkupId, final
String inputName, final AbstractLink link) {
final String formId = formMarkupId;
final CharSequence url = ????????????????
AppendingStringBuffer call = new AppendingStringBuffer("var
wcall=wicketSubmitFormById('")
.append(formId).append("', '").append(url).append("', ");
call.append("'")
.append(inputName)
.append("' ");
call.append(",function() { }.bind(this),function() {
}.bind(this), function() { }.bind(this));;; return false;;");
return call;
}
Berlin Brown
RE: Submit form from ajaxlink not a part of the form
Posted by "Brown, Berlin [GCG-PFS]" <Be...@Primerica.com>.
I got it.
But I passed function() { return true; } ... To the post and preconditions.
-----Original Message-----
From: Igor Vaynberg [mailto:igor.vaynberg@gmail.com]
Sent: Friday, January 28, 2011 12:52 AM
To: users@wicket.apache.org
Cc: berlin.brown@gmail.com
Subject: Re: Submit form from ajaxlink not a part of the form
add(new ajaxsubmitlink("submit", form));
-igor
On Thu, Jan 27, 2011 at 7:46 PM, Brown, Berlin [GCG-PFS] <Be...@primerica.com> wrote:
> So, I was able to submit a form WITHOUT ajax. Now, how can I submit a
> form with ajax but from a link not associated with that form. I tried
> the following. But, I couldn't get the proper URLs / Button? Are
> those needed for the wicketSubmFormById call?
>
> Also, do i have an issue using target.appendJavascript(...);
>
> ...
>
> If you look at the event handler method,
>
> public class MyPanel {
>
> public static final String
> JS_SUBMIT_THIS_WORKS_BUT_HOW_TO_SUBMIT_BY_AJAX = "try {
> document.forms['%s'].submit(); } catch(err) { alert('ERR:' + err); if
> (window.console != undefined) { console.log(err); } }";
>
> this.add(new AjaxLink<Object>("link") {
> @Override
> public void onClick(final AjaxRequestTarget target) {
>
> // Find the dynamic form on the page.
> final Object objAtStopTraversal =
> getParentContainer().visitChildren(new FindFormVisitor());
> if (objAtStopTraversal instanceof Form<?>) {
> // Form found, invoke javascript submit
> final Form<?> form = (Form<?>) objAtStopTraversal;
>
>
> target.appendJavascript(getEventHandler(form.getMarkupId(), ???,
> this));
> }
> }
> } );
>
> protected CharSequence getEventHandler(final String formMarkupId,
> final String inputName, final AbstractLink link) {
> final String formId = formMarkupId;
> final CharSequence url = ????????????????
> AppendingStringBuffer call = new AppendingStringBuffer("var
> wcall=wicketSubmitFormById('")
> .append(formId).append("', '").append(url).append("', ");
>
> call.append("'")
> .append(inputName)
> .append("' ");
> call.append(",function() { }.bind(this),function() {
> }.bind(this), function() { }.bind(this));;; return false;;");
> return call;
> }
>
> Berlin Brown
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org
RE: Submit form from ajaxlink not a part of the form
Posted by "Brown, Berlin [GCG-PFS]" <Be...@Primerica.com>.
I added a kind of dummy ajax submit link on that form and then try to invoke that link... When I get a reference to the callback URL. Here is the error.
Is there a way to debug that object error? I could try changing:
1. ignore if not active to false?
2. changing some of the parameters to the submit call?
3. hiddenSubmitLink ...maybe that is not the correct path to that link... Maybe I need to try
panel:form:hiddenSubmitLink...etc?
>From the Debug Window:
INFO:
<?xml version="1.0" encoding="UTF-8"?><ajax-response><evaluate><![CDATA[var wcall=wicketSubmitFormById('form5e', '?wicket:interface=:0:panel:form:hiddenSubmitLink::IActivePageBehaviorListener:0:-1&wicket:ignoreIfNotActive=true', 'hiddenSubmitLink' ,function() { }.bind(this),function() { }.bind(this), function() {return Wicket.$$(this)&&Wicket.$$('form5e')}.bind(this));;; return false;]]></evaluate></ajax-response>
INFO: Response parsed. Now invoking steps...
ERROR: Wicket.Ajax.Call.processEvaluation: Exception evaluating javascript: [object Error]
INFO: Response processed successfully.
-----Original Message-----
From: Igor Vaynberg [mailto:igor.vaynberg@gmail.com]
Sent: Friday, January 28, 2011 12:52 AM
To: users@wicket.apache.org
Cc: berlin.brown@gmail.com
Subject: Re: Submit form from ajaxlink not a part of the form
add(new ajaxsubmitlink("submit", form));
-igor
On Thu, Jan 27, 2011 at 7:46 PM, Brown, Berlin [GCG-PFS] <Be...@primerica.com> wrote:
> So, I was able to submit a form WITHOUT ajax. Now, how can I submit a
> form with ajax but from a link not associated with that form. I tried
> the following. But, I couldn't get the proper URLs / Button? Are
> those needed for the wicketSubmFormById call?
>
> Also, do i have an issue using target.appendJavascript(...);
>
> ...
>
> If you look at the event handler method,
>
> public class MyPanel {
>
> public static final String
> JS_SUBMIT_THIS_WORKS_BUT_HOW_TO_SUBMIT_BY_AJAX = "try {
> document.forms['%s'].submit(); } catch(err) { alert('ERR:' + err); if
> (window.console != undefined) { console.log(err); } }";
>
> this.add(new AjaxLink<Object>("link") {
> @Override
> public void onClick(final AjaxRequestTarget target) {
>
> // Find the dynamic form on the page.
> final Object objAtStopTraversal =
> getParentContainer().visitChildren(new FindFormVisitor());
> if (objAtStopTraversal instanceof Form<?>) {
> // Form found, invoke javascript submit
> final Form<?> form = (Form<?>) objAtStopTraversal;
>
>
> target.appendJavascript(getEventHandler(form.getMarkupId(), ???,
> this));
> }
> }
> } );
>
> protected CharSequence getEventHandler(final String formMarkupId,
> final String inputName, final AbstractLink link) {
> final String formId = formMarkupId;
> final CharSequence url = ????????????????
> AppendingStringBuffer call = new AppendingStringBuffer("var
> wcall=wicketSubmitFormById('")
> .append(formId).append("', '").append(url).append("', ");
>
> call.append("'")
> .append(inputName)
> .append("' ");
> call.append(",function() { }.bind(this),function() {
> }.bind(this), function() { }.bind(this));;; return false;;");
> return call;
> }
>
> Berlin Brown
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org
Re: Submit form from ajaxlink not a part of the form
Posted by Igor Vaynberg <ig...@gmail.com>.
add(new ajaxsubmitlink("submit", form));
-igor
On Thu, Jan 27, 2011 at 7:46 PM, Brown, Berlin [GCG-PFS]
<Be...@primerica.com> wrote:
> So, I was able to submit a form WITHOUT ajax. Now, how can I submit a
> form with ajax but from a link not associated with that form. I tried
> the following. But, I couldn't get the proper URLs / Button? Are
> those needed for the wicketSubmFormById call?
>
> Also, do i have an issue using target.appendJavascript(...);
>
> ...
>
> If you look at the event handler method,
>
> public class MyPanel {
>
> public static final String
> JS_SUBMIT_THIS_WORKS_BUT_HOW_TO_SUBMIT_BY_AJAX = "try {
> document.forms['%s'].submit(); } catch(err) { alert('ERR:' + err); if
> (window.console != undefined) { console.log(err); } }";
>
> this.add(new AjaxLink<Object>("link") {
> @Override
> public void onClick(final AjaxRequestTarget target) {
>
> // Find the dynamic form on the page.
> final Object objAtStopTraversal =
> getParentContainer().visitChildren(new FindFormVisitor());
> if (objAtStopTraversal instanceof Form<?>) {
> // Form found, invoke javascript submit
> final Form<?> form = (Form<?>) objAtStopTraversal;
>
>
> target.appendJavascript(getEventHandler(form.getMarkupId(), ???, this));
> }
> }
> } );
>
> protected CharSequence getEventHandler(final String formMarkupId, final
> String inputName, final AbstractLink link) {
> final String formId = formMarkupId;
> final CharSequence url = ????????????????
> AppendingStringBuffer call = new AppendingStringBuffer("var
> wcall=wicketSubmitFormById('")
> .append(formId).append("', '").append(url).append("', ");
>
> call.append("'")
> .append(inputName)
> .append("' ");
> call.append(",function() { }.bind(this),function() {
> }.bind(this), function() { }.bind(this));;; return false;;");
> return call;
> }
>
> Berlin Brown
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org