使用javascript在texbox中输入时验证值

时间:2017-01-19 10:13:10

标签: javascript

我正在尝试一个任务,其中有一个贷款金额的输入字段,其范围应介于5k到10k之间。 它应该在文本框本身输入时。 (即)如果我输入2或3或4作为数字,它应显示警告框。 我已编码显示alterbox但显示移动到另一个文本框后显示。 谁能找到我做错了什么。?

<input type="text"  id="loan_amt" name="loanamt"  onkeyup="calemi();" onblur="rangeforloanamt(this);"/>

function rangeforloanamt(givenval) //Customer loan form : loan amount minimum and maximum value validation
    {
        if(!(givenval.value >= 50000 && givenval.value <= 100000))
            {
                alert("enter loan amount between 50000 and 100000");  
                return false;
            }
    }

这是我的代码..并提前感谢

3 个答案:

答案 0 :(得分:0)

调用rangeforloanamt函数onkeyup事件而不是onblur

<input type="text" id="loan_amt" name="loanamt" onkeyup="rangeforloanamt(this)">

DEMO

答案 1 :(得分:0)

改变这个:

<input type="text"  id="loan_amt" name="loanamt"  onkeyup="calemi();" onblur="rangeforloanamt(this);"/>

到此:

<input type="text"  id="loan_amt" name="loanamt"  onkeyup="rangeforloanamt(this);"/>

我不知道calemi函数是什么,但是如果你想要alert你输入的每个类型。你应该使用onkeyup()函数。当你走出onblur()文本框时会触发input函数。

答案 2 :(得分:0)

如果您不想更改键盘功能,可能应该使用keypress。在keydown活动中,您可以获得输入的密钥&amp;检查它是否是第一个字符&amp;输入的密钥是2,3或4.我写了checkEnteredKey()来检查这个。

function checkEnteredKey(field)
    {
       var enteredKey=parseInt(String.fromCharCode(event.keyCode || event.charCode));
      if((isNaN(enteredKey)&&(event.keyCode || event.charCode))||(field.value=='' && enteredKey > 1 && enteredKey<5))  {
                alert("enter loan amount between 50000 and 100000");  
                event.preventDefault();
            }
    }
function rangeforloanamt(field)
    {
        if(!(field.value >= 50000 && field.value <= 100000))
            {
                alert("enter loan amount between 50000 and 100000");  
                return false;
            }
      }
<input type="text"  id="loan_amt" name="loanamt"  onkeyup="calemi();" onkeypress="checkEnteredKey(this);" onblur="rangeforloanamt(this);"/>