我正在尝试一个任务,其中有一个贷款金额的输入字段,其范围应介于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;
}
}
这是我的代码..并提前感谢
答案 0 :(得分:0)
调用rangeforloanamt
函数onkeyup
事件而不是onblur
<input type="text" id="loan_amt" name="loanamt" onkeyup="rangeforloanamt(this)">
答案 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);"/>