<script type="text/javascript">
$(function () {
$("#ibtnOK").click(function () {
var title = $("#txtTitle");
if (title.val().length < 1) {
title.focus();
return false;
}
var money = $("#txtMoney");
if (money.val().length < 1) {
money.focus();
return false;
}
});
});
</script>
上面是两个针对 textbox 的验证,现在是两个,要重复两次。
如果是10个,就要重复10次。
我总感觉这个 JS 很普通的验证可以封装一下。
比如:
<script type="text/javascript">
$(function () {
$("#ibtnOK").click(function () {
check($("#txtTitle"));
check($("#txtMoney"));
});
function check(obj) {
if (obj.val().length < 1) {
obj.focus();
return false;
}
}
});
</script>但是我写的不行。一提交都回发了。
请高人指点,谢谢!
在click的方法里面return 。
能不能劳烦大哥小改动下代码,指出来应该怎么写。。
你说的全局变量和在click里面return,我还是没有头绪。。十分感谢!!!。。
var inputs = $("#txtTitle,#txtMoney");
inputs.each(function(){
if($(this).length < 1){
obj.focus();
return false;
}
}); 也可以这样 循环验证 。
function check(controls) {
for (var i = 0; i < controls.length; i++) {
var control = $(controls[i]);
if (control.val().length < 1) {
control.focus();
return false;
}
}
return true;
}
$(function () {
$("#ibtnOK").click(function () {
return check(["#txtTitle", "#txtMoney"]);
});
});
</script>
大致是这样的,通过参数列表传
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>zell419</title>
<script src="js/jquery-1.4.2.min.js" type="text/javascript"></script>
</head>
<body>
<script>
var checkForm = function(){
var inputs = $("#txtTitle,#txtMoney");
var result = true ;
inputs.each(function(i){
if($(this).val().length < 1){
$(this).focus();
result = false;
return result;
}
});
return result;
};
</script>
<form onsubmit="return checkForm();">
<input id="txtTitle" /><input id="txtMoney" />
<br />
<input type="submit" value="submit"/>
</form>
</body>
</html>都差不多 。
谢谢!
我根据情况改了下,可以focus,不完美的是紧接着就回发了。<script type="text/javascript">
$(function () {
$("#ibtnOK").click(function () {
var inputs = $("#txtTitle,#txtMoney");
inputs.each(function () {
if ($(this).val().length < 1) {
$(this).focus();
return false;
}
});
});
});
</script>