我有两个h:inputText文本框和一个h:commandButton。如果在任一文本框中没有值,我该如何禁用该按钮?另外如果我在其中一个文本框中有值,我如何禁用其他文本框。请在下面找到我的示例代码:
<h:form id="myForm">
<h:inputText id="first" value=#{myBean.first}></h:inputText>
<h:inputText id="second" value=#{myBean.second}></h:inputText>
<h:commandButton id="submit" action="#{myBean.submit}" value="Submit"/>
</h:form>
使用Javascript:
document.getElementById("myForm:first").onkeyup = function() {
if (this.value.length > 0) {
document.getElementById("myForm:second").disabled = true;
document.getElementById("myForm:submit").disabled = false;
} else {
document.getElementById("myForm:second").disabled = false;
document.getElementById("myForm:submit").disabled = true;
}
};
document.getElementById("myForm:second").onkeyup = function() {
if (this.value.length > 0) {
document.getElementById("myForm:first").disabled = true;
document.getElementById("myForm:submit").disabled = false;
} else {
document.getElementById("myForm:first").disabled = false;
document.getElementById("myForm:submit").disabled = true;
}
};
这里的问题是它工作正常,但我必须在外面点击一次以启用/禁用按钮。无论如何,按钮会自动启用,而另一个文本框会在数据输入其中一个文本框时被禁用吗?
答案 0 :(得分:0)
onload或直接在commandButton标签中保持按钮为
disabled="true"
。
对inpuText实现onchange或onblur方法,并将样式设置为commandButton disable ='false'
答案 1 :(得分:-1)
使用onchange事件而不是keyup