【问题标题】:input text control doesn't work on android google chrome输入文本控件在 android google chrome 上不起作用
【发布时间】:2018-03-28 12:49:35
【问题描述】:

我正在尝试添加对 primefaces 的 inputText 的控制。

我有这个代码:

<p:inputText onkeydown="charLimit(event);" />
<script type="text/javascript">
    function charLimit(event) {
        alert("test");
        event.target.value = event.target.value.substr(0, 5);
    }
</script>

它正在工作。但是如果我删除“alert('test')”,它就不起作用了。你有想法吗 ? 谢谢

编辑:我仍然尝试使用正则表达式控制输入。但是当我的正则表达式不匹配时,输入值是重复的。

<p:inputText id="testtest"  value=""  maxlength="5"  onkeyup="validerRegexp(event, this, '^[A-Z]{0,5}$');" />

function validerRegexp(event, that, regexp){
    var expression = RegExp(regexp);
    var valeur = verifierRegexp(expression, event.target.value);
    if(valeur != null) {
        that.value = event.target.value;
    } else {
        that.value = event.target.value.substring(0,event.target.value.length - 1);
    }
}

function verifierRegexp(expression, valeur){
    var resultat = null;
    if(valeur != null && expression != null){
        var tmp = valeur.match(expression);
        if(tmp !=null && tmp.length > 0){
            resultat = tmp[0];
        }
    }
    return resultat;
}

请问你有什么想法吗?

【问题讨论】:

    标签: javascript android jquery google-chrome


    【解决方案1】:

    为您的输入字段使用maxlength 属性。

    【讨论】:

    • 感谢您的回复。我已经尝试过 maxlength,它可以在台式计算机上使用 chrome,但不能在 android 上使用 chrome。
    • 根据link 支持失焦后。如果您想立即删除它,我会尝试 onkeyup 方法。 ` ` 对我有用
    • 我不明白为什么,但它正在工作。谢谢你:)
    • 不能改变事件的值,你必须改变元素的实际值。不客气
    猜你喜欢
    • 1970-01-01
    • 2013-06-25
    • 1970-01-01
    • 2011-11-03
    • 1970-01-01
    • 2018-06-20
    • 2019-04-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多