锁定具有最大字符的输入字段

时间:2014-02-27 22:49:27

标签: ajax jsf primefaces

我想在最大字符数后锁定输入字段的条目。 我使用Google App Engine,这不支持jsf 2.2,所以我不能使用HTML5。

我使用jsf 2.1和primefaces 4.0

<p:inputText style="width:350px" id="firstname" value="#{regiBean.user.FIRST_NAME}"
    required="true" requiredMessage="#{msg['regi_firstname_error']}" >
    <f:validateLongRange maximum="5"/>   
</p:inputText>

所以我尝试了这种方式,但它不起作用

这是代码

<script type="text/javascript">
    var firstname;
        function initialize() {
        firstname = document
            .getElementById("regiFrom:firstname");
        firstname.addEventListener("keypress", function(){
            firstname.value = firstname.value.substr(0, 5)
        }, false);
         }          
</script>

<p:inputText style="width:350px" id="firstname" value="#{regiBean.user.FIRST_NAME}"
             required="true" requiredMessage="#{msg['regi_firstname_error']}"/>

2 个答案:

答案 0 :(得分:1)

myInputElement是输入,你要缩短,maxLength是char#:

myInputElement.addEventListener("keypress", function(){
    myInputElement.value = myInputElement.value.substr(0, maxLength);
}, false);

答案 1 :(得分:0)

使用Primefaces解决方案; p:inputText标签有一个maxlength属性

<p:inputText style="width:350px" id="lastname" value="#{regiBean.user.LAST_NAME}"
    required="true" requiredMessage="#{msg['regi_lastname_error']}" maxlength="5" />