达到最大字符

时间:2017-05-30 09:10:39

标签: javascript html primefaces xhtml

这是我的xHTML代码:

<div id="list">
                    <p:outputLabel styleClass="heading" value="#{msg['content.search.title']}" />


                    <p:outputLabel value="#{msg['content.search.bic']}" />

                    <p:inputText styleClass="prefix" value="#{Controller.prefix}" maxlength="4" onkeyup="return this.value.length >= 4">

                    <p:ajax event="keyup" listener="#{Controller.check}"></p:ajax>
                        </p:inputText>

                    <p:inputText id="countryCode" widgetVar="countryCode" styleClass="countryCode" value="#{Controller.CountryCode}" maxlength="2">                 

<\div>

我的java支持bean函数如下所示:

public String check()
    {
        RequestContext.getCurrentInstance().execute("list:countryCode.focus();");
        return "";
    }

我想要的是当我在前缀中输入4个字符时,焦点应自动转到下一个InputText字段,即CountryCode。我没有收到任何错误,输入4个字符后,调用我的支持bean方法并成功运行,但是对gui的关注不会改变。

我怀疑可能我的支持bean中的代码没有按预期执行,也许它找不到CountryCode字段。

这个问题与标记的问题不同的是,我无法在项目中创建单独的内容,因此没有Jquery。

1 个答案:

答案 0 :(得分:0)

这样的事情应该有效:

<div id="list">
    <p:outputLabel styleClass="heading" value="#{msg['content.search.title']}" />

    <p:outputLabel value="#{msg['content.search.bic']}" />

    <p:inputText styleClass="prefix" value="#{Controller.prefix}" maxlength="4" id="txtPrefix" onkeydown="if (document.getElementById('txtPrefix').value.length>=4) { document.getElementById('countryCode').focus(); return false; }">
        </p:inputText>

    <p:inputText id="countryCode" widgetVar="countryCode" styleClass="countryCode" value="#{Controller.CountryCode}" maxlength="2">                 
<\div>