我在Java Script中表现不佳,但我找不到解决问题的方法。
我的页面上有一个文本框,我有权在里面写一个0到199之间的数字。
如果我写200或>,那么我想得到警告(onblur)。
我找到了一个非常有趣且可能有用的代码。
但我不知道他是否有效,因为我不知道如何实施。
<script>
var min = 0;
var max = 199;
var num = parseInt(myform.numfield.value);
if (min > num || max < num) {
alert(num + ' is not between ' + min + ' and ' + max);
return false;
}
</script>
我希望你能帮助我
这里有新代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Page</title>
<script type="text/javascript">
function check(min, max) {
var num = parseInt(document.getElementById('value_one').value);
if (min > num || max < num)
{
alert(num + ' ist nicht zwischen ' + min + ' und ' + max);
}
}
</script>
</head>
<body>
<form>
Zahl: <input type='text' id='value_one' onBlur="check(0, 100)" >
</form>
</body>
</html>
我还有另一个问题。是否有可能在同一个函数中添加一个查询,当我将一个大于99的数字写入同一个文本框中时,我们有MIN和MAX的查询,以获得一条消息警告“现在我们得到新值“但是,当我写200或更大时,仍然像以前一样得到消息。可能吗?非常感谢您的帮助。干杯
答案 0 :(得分:3)
我会将此代码放入函数中,然后将其命名为onblur:
function check(min, max) {
var num = parseInt(this.value);
if (min > num || max < num) {
alert(num + ' is not between ' + min + ' and ' + max);
}
}
然后
<input type='text' onblur="check(0, 199)"
答案 1 :(得分:1)
将您在函数中找到的代码放入
function minMax(){
var min=0;
var max = 199;
var num = parseInt(myform.numfield.value);
if (min > num || max < num) {
alert(num + ' is not between ' + min + ' and ' + max);
return false;
}
}
然后在表单字段模糊时调用它
var formField = document.getElementById('elementID'); //or however you want to get it
formField.onblur = minMax();
那就行了。
答案 2 :(得分:0)
这里有一个完整的HTML :(只需保存并尝试)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Page)</title>
<script type="text/javascript">
function submitform()
{
var min=0;
var max = 100;
var num = parseInt(document.getElementById('value_one').value);
console.log(num);
if (min > num || max < num) {
alert(num + ' is not between ' + min + ' and ' + max);
return false;
}
}
</script>
</head>
<body>
<form id="myform" action="submit-form.php">
Value: <input type='number' id='value_one' name='value_one'>
<a href="javascript: submitform()">Submit</a>
</form>
</body>
</html>
更新回应与您的评论相符:
这是我想的那一刻:使用经过验证的库,比如jQuery:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Page</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("a").click(function(){
var enteredValue = $("input:#value_one").val();
var min=0;
var max = 100;
var num = parseInt(enteredValue);
if (min > num || max < num) {
alert(num + ' is not between ' + min + ' and ' + max);
return false;
}
});
// or listen to your textfield blur event: /////////////////////
// $("input:#value_one").blur(function() {
// var enteredValue = $("input:#value_one").val();
// var min=0;
// var max = 100;
// var num = parseInt(enteredValue);
// if (min > num || max < num) {
// alert(num + ' is not between ' + min + ' and ' + max);
// return false;
// }
// });
});
</script>
</head>
<body>
<form id="myform" action="submit-form.php">
Value: <input type='string' id='value_one' name='value_one'>
<a href="#">Submit</a>
</form>
</body>
</html>
在jQuery的帮助下,您可以绑定到blur()
事件,或者如上所述绑定提交或超链接。祝你好运,玩得开心!