超过maxlength时获取文本框的值

时间:2016-11-08 05:02:04

标签: jquery angularjs

我有一个最大长度为5的文本框。现在在keyup事件中我检查一些逻辑。假设用户在键盘事件中按下第6个数字我只获得(第5个)精度值,因为允许的最大长度仅为5个。

如何查看最新输入的值?

 <td class="Input">
     <div id="d1" css-class="l1" numeric="{min: 0.0, max: 0.0, step: '1.0'}" ng-model="select"
     decimalplace="1" maxlength="5" disabled="true" spinner-spin="updateSeamCompensation(event,value)" d1-keyup="d1Inputkeyup(event,value)"/>
 </td>

1 个答案:

答案 0 :(得分:1)

如果你在文本框中设置了MaxLength的限制,那么你就不会得到位于第6位的字符。你必须选择其他可以在文本框中加起来之前获得价值的事件。

您可以使用“KeyDown”事件。

如果不起作用,那么我们再拿一个没有最大长度限制的隐藏文本框,你可以检查一下字符串长度是否超过5,那么就不会在实际文本框中插入值。

以下是示例:

function edValueKeyPress()
    {
        var hiddenTextBoxStr = document.getElementById("edValue").value;

        if(hiddenTextBoxStr.length<=5)
        {
            actualTextbox.text=hiddenTextBoxStr;
        }  
        else
        {
            alert(hiddenTextBoxStr.charAt(hiddenTextBoxStr.length));
        }
    }