2016-11-08 39 views
0

我有一个文本框,它的maxlength为5.现在在keyup事件中,我检查了一些逻辑。假设用户在keyup事件中按第6个数字,只有在允许的最大长度高达5时才会得到(第5个)精度值。当maxlength交叉时获取文本框的值

如何检查最近输入的值?

<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

如果你把的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)); 
     } 
    } 
+0

没能得到有过 – pankaj

+0

你试过“的OnKeyPress”? –

+0

是的最大长度后,我试图在所有关键事件的控制台中获得价值..所有具有相同的最大值5 – pankaj