Done: https://github.com/klopfdreh/wicket/commit/c903161c422b24fb1e74a93b14ac8a22bcbc6ee9
(Have to fix the formatting) I like it much more, now - thank you a lot Sven! kind regards Tobias > Am 01.06.2015 um 23:55 schrieb Sven Meier <s...@meiers.net>: > > Hi Tobias, > >> public OutputField(String id, IModel<String> model) > > something else than String could be possibly too, couldn't it? > > >public String getFormId() > > I'd prefer #getForm() instead, similar to AjaxButton. > > > public List<String> getForIds() > > I'd prefer components instead of ids here too (similar to IFormValidator): > > public FormComponent<?>[] getDependentFormComponents() > > >private class OutputDefaultAjaxBehavior extends AbstractDefaultAjaxBehavior > > I don't see a need for this default behavior - devs will probably have to > recalculate the value on the server anyway. > > > form1.add(new AttributeAppender("onInput", String.format(...))); > > Couldn't that be handled by OutputField automatically? Preferably with event > registration instead of an inline event handler? > > public void renderHead(IHeaderResponse response) > { > super.renderHead(response); > > response.render(OnDomReadyHeaderItem.forScript(String.format("$('#%s').on('input', > function() { %s });", getForm().getMarkupId(), getInputScript())); > } > > My 2 cents > Sven > > >> On 01.06.2015 22:35, Tobias Soloschenko wrote: >> Hi everyone, >> >> I would like to introduce a new API to make responsive forms available with >> the HTML5 tag "output". >> >> Information and examples can be found here: >> >> https://github.com/klopfdreh/wicket-components-playground/wiki/14.-HTML5-OutputField-API >> >> >> Benefits of the OutputField >> >> * Easy client side calculations based on input fields and an >> AttributeAppender - so the calculation can be changed on server side: >> >> // number1 and number2 are input fields >> form.add(new AttributeAppender("onInput", >> String.format("%s.value=parseFloat(%s.value)+ parseFloat(%s.value)", >> outputField.getMarkupId(), number1.getMarkupId(), number2.getMarkupId()))); >> >> * Automated push of the value to the server side. There the value can be >> retrieved by get the model of the output field: >> >> form.add(new AjaxButton("submit") { >> >> private static final long serialVersionUID = 1L; >> >> @Override >> protected void onSubmit(AjaxRequestTarget target, Form<?> form) { >> target.add(label.setDefaultModelObject("The current output value: " + >> outputField.getDefaultModelObject())); >> } >> }.setDefaultFormProcessing(false)); >> >> I would be very pleased for any feedback! :-) >> >> kind regards >> >> Tobias >