You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Martin Makundi <ma...@koodaripalvelut.com> on 2009/04/28 05:44:53 UTC
Re: Checkbox OnChangeAjaxBehavior with defaultFormProcessing=false??
Ahh, now I know. I just need to make FormSubmittingCheckBox implements
IFormSubmittingComponent and then checkBox.add(new
AjaxFormSubmitBehavior("onchange")).
Yippee!
**
Martin
2009/2/13 Timo Rantalaiho <Ti...@ri.fi>:
> On Fri, 13 Feb 2009, Martin Makundi wrote:
>> Yes, this is what I am trying to do, but disabling and enabling a
>> textfield ends up clearing its value too if I use
>> AjaxFormSumitBehavior. Don't know why.
>
> Maybe a conversion error that prohibits updating the model?
> Though in the case of validation or conversion errors the
> erroneous input could be preserved... but maybe the Ajax
> update gets it from the model anyway?
>
> 0) raw input
> 1) convert -> if succeeds, convertedInput
> 2) validate -> if succeeds, model
>
> Do you have a feedback panel on the page?
>
> By debugging Form.process() you can probably see easily
> what's going on.
>
>> I feel it is more consistent to use just plain Wicket.
>
> In a way, yes, but sometimes purely client-side stuff can be
> easier purely on the client-side.
>
> Best wishes,
> Timo
>
>
> ---------------------------------------------------------------------
> 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: Checkbox OnChangeAjaxBehavior with defaultFormProcessing=false??
Posted by Martin Makundi <ma...@koodaripalvelut.com>.
Actually one must hack even further to reject the "submitButton=1"
value being added at form submit javascript:
/**
* wicket-ajax:
*
* if (submitButton != null) {
* s += Wicket.Form.encode(submitButton) + "=1";
* }
*
* @see org.apache.wicket.markup.html.form.FormComponent#getInputAsArray()
*/
@Override
public String[] getInputAsArray() {
List<String> strings = Arrays.asList(super.getInputAsArray());
strings.remove("1");
return strings.toArray(new String[strings.size()]);
}
/**
* @see org.apache.wicket.markup.html.form.AbstractSingleSelectChoice#getModelValue()
*/
@Override
public String getModelValue() {
String value = super.getModelValue();
if ("1".equals(value)) {
throw new IllegalStateException("1 not supported because of
javaScript wicket-ajax:submitForm: function(form, submitButton)");
}
return value;
}
Is there a feature request that would allow a normal component to
implement IFormSubmittingComponent without adding the =1 code?
wicket-ajax:
// Submits a form using ajax.
// This method serializes a form and sends it as POST body.
submitForm: function(form, submitButton) {
var body = function() {
var s = Wicket.Form.serialize(form);
if (submitButton != null) {
s += Wicket.Form.encode(submitButton) + "=1";
}
return s;
}
return this.request.post(body);
},
**
Martin
2009/4/28 Martin Makundi <ma...@koodaripalvelut.com>:
> Ahh, now I know. I just need to make FormSubmittingCheckBox implements
> IFormSubmittingComponent and then checkBox.add(new
> AjaxFormSubmitBehavior("onchange")).
>
> Yippee!
>
> **
> Martin
>
> 2009/2/13 Timo Rantalaiho <Ti...@ri.fi>:
>> On Fri, 13 Feb 2009, Martin Makundi wrote:
>>> Yes, this is what I am trying to do, but disabling and enabling a
>>> textfield ends up clearing its value too if I use
>>> AjaxFormSumitBehavior. Don't know why.
>>
>> Maybe a conversion error that prohibits updating the model?
>> Though in the case of validation or conversion errors the
>> erroneous input could be preserved... but maybe the Ajax
>> update gets it from the model anyway?
>>
>> 0) raw input
>> 1) convert -> if succeeds, convertedInput
>> 2) validate -> if succeeds, model
>>
>> Do you have a feedback panel on the page?
>>
>> By debugging Form.process() you can probably see easily
>> what's going on.
>>
>>> I feel it is more consistent to use just plain Wicket.
>>
>> In a way, yes, but sometimes purely client-side stuff can be
>> easier purely on the client-side.
>>
>> Best wishes,
>> Timo
>>
>>
>> ---------------------------------------------------------------------
>> 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