我在zk框架中有一个文本框和一个带有upload = true属性组件的按钮,我想控制文本框的值(无论是否为空),然后弹出上载对话框。我尝试根据值禁用和启用按钮在文本框上的onChange事件。问题是在单击其他位置之前未启用/禁用按钮。那就是如果我在文本框中写一些文本,然后单击按钮,它仍然保持禁用状态。第二次单击后,它被激活。
最佳答案
您应该使用onChanging而不是onChange。另外,只有ZK端解决方案可以正常工作,而ZK + Java端解决方案则无法满足您的要求。
ZK-Side解决方案(工作)
<zk>
<textbox>
<attribute name="onChanging">
if ( event.getValue().length() > 0 )
but.setDisabled( false );
else
but.setDisabled( true );
</attribute>
</textbox>
<button id="but" disabled="true" upload="true,maxsize=300" label="Up" />
</zk>
ZK + Java解决方案(无法正常工作)
ZK
<window title="Hello World!!" border="normal" width="200px" apply="com.UploadFile">
<textbox id="value" />
<button id="but" disabled="true" upload="true,maxsize=300" label="Up" />
</window>
爪哇
public class UploadFile extends GenericForwardComposer<Window> {
private static final long serialVersionUID = 1L;
private Textbox value;
private Button but;
public void onChanging$value() {
if ( value.getValue().length() > 0 )
but.setDisabled( false );
else
but.setDisabled( true );
}
public void onClick$but() {
alert(value.getValue());
}
}
关于java - zk-文件上传之前的Java文本框验证,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15840216/