0

我有两个 h:inputText 文本框和 ah: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;
    }
};

这里的问题是它工作正常,但我必须在外部单击一次才能启用/禁用按钮。无论如何,当将数据输入其中一个文本框时,按钮是否会自动启用而另一个文本框会被禁用?

4

2 回答 2

0

onload 或直接在 commandButton 标记中将按钮保持为 disabled="true". 实现 onchange 或 onblur 方法到 inpuText 并将样式设置为 commandButton disable='false'

于 2013-12-05T10:28:31.703 回答
-1

使用 onchange 事件而不是 keyup

于 2013-05-18T13:36:49.687 回答