Author: knopp Date: Tue Jun 26 09:59:11 2007 New Revision: 550856 URL: http://svn.apache.org/viewvc?view=rev&rev=550856 Log: Default button improvements
Modified: incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/Button.java incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java Modified: incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/Button.java URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/Button.java?view=diff&rev=550856&r1=550855&r2=550856 ============================================================================== --- incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/Button.java (original) +++ incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/Button.java Tue Jun 26 09:59:11 2007 @@ -73,6 +73,7 @@ { super(id); setVersioned(true); + setOutputMarkupId(true); } /** @@ -93,6 +94,7 @@ { super(id, model); setVersioned(true); + setOutputMarkupId(true); } /** Modified: incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java?view=diff&rev=550856&r1=550855&r2=550856 ============================================================================== --- incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java (original) +++ incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java Tue Jun 26 09:59:11 2007 @@ -1109,23 +1109,24 @@ protected void appendDefaultButtonField(final MarkupStream markupStream, final ComponentTag openTag) { - String nameAndId = getHiddenFieldId(); + AppendingStringBuffer buffer = new AppendingStringBuffer(); - // get the value, first seeing whether the value attribute is set - // by a model - String value = defaultButton.getModelObjectAsString(); - if (value == null || "".equals(value)) - { - // nope it isn't; try to read from the attributes - // note that we're only trying lower case here - value = defaultButton.getMarkupAttributes().getString("value"); - } + + // div that is not visible (but not display:none either) + buffer.append("<div style=\"width:0px;height:0px;position:absolute;left:-100px;top:-100px;overflow:hidden\""); - // append the button - buffer.append("<input type=\"submit\" value=\"").append(value).append("\" name=\"").append( - defaultButton.getInputName()).append("\""); - buffer.append("style=\"width: 0px; height: 0px; position: absolute; left:-100px;\""); + // add an empty textfield (otherwise IE doesn't work) + buffer.append("<input type=\"text\" autocomplete=\"false\"/>"); + + // add the button + buffer.append("<input type=\"submit\" onclick=\" var b=Wicket.$('"); + buffer.append(defaultButton.getMarkupId()); + buffer.append("'); if (typeof(b.onclick) != 'undefined') { var r = b.onclick.bind(this)(); if (r != false) b.click(); } else { b.click(); }; return false;\" "); buffer.append(" />"); + + // close div + buffer.append("</div>"); + getResponse().write(buffer); }