package e4s.tutorial; import e4s.html.*; import e4s.html.ajax.E4AjaxData; import e4s.html.ajax.E4AjaxData_Intf; import e4s.html.ajax.E4AjaxElementInputValueChanger; import e4s.html.input.extended.E4InputFieldName; import e4s.html.input.extended.TEXTFIELD; import e4s.servlet.E4ModuleImplementation; import e4s.servlet.E4ServletImplementation_Intf; import e4s.util.E4StringBufferHtml; /** * This example shows how Ajax can change the value of an input field. * * {@tutorial Example_Ajax_TEXTFIELD} */ public class Example_Ajax_TEXTFIELD extends E4ModuleImplementation { public static E4Method start = null; private static class MyAjax extends E4AjaxData implements E4AjaxData_Intf { public String getDivId() { return getClass().getName(); } public void toHtml(E4StringBufferHtml buf, E4CgiParams params, E4ServletImplementation_Intf servlet, boolean initialLoad) throws Exception { java.util.Date now = new java.util.Date(); buf.append(now.toString()); } } public void start( HTML html ) { // this is our form, it will hold a TEXTFIELD later FORM form = html.FORM(); TEXTFIELD textfield = form.TEXTFIELD(E4InputFieldName.ANY(),"Textfield",30); MyAjax ajax = new MyAjax(); E4AjaxElementInputValueChanger ae = textfield.addAjaxChanger(form,ajax,getServlet()); BUTTON button = form.BUTTON(ae.getOnClick(form)); button.print("Get server time using Ajax"); button.setEnableMultipleClicks(true); } }