一个方法让你了解js中的细节
你知道js对象动态属实怎么设置吗?
知道JSON.stringfy()和JSON.parse()的区别不?
知道参数传递带引号和不带引号的区别不?
知道eval的运用不?www.javait.org
看下面的代码吧
$(function(){
$('#bankCardNo2').bind("blur",function(){
validateCardNo('bankCardNo','bankCardNo2','bankCardNo');//这里参数传递带引号,标示是一个值,$("#"+变量值)就可以直接使用。
});
});
function validateCardNo(cardNoEl,cardNoValidateEl,attrName){
var cardNo1=$("#"+cardNoEl).val();
var cardNo2=$("#"+cardNoValidateEl).val();
//console.log("cardNo2:"+cardNo2);
if(cardNo2!=cardNo1){
$("#"+cardNoEl).tips({
side:3,
msg:'两次输入的卡号不一致!',
bg:'#AE81FF',
time:3
});
$("#"+cardNoEl).focus();
return false;
}else{
var argData=new Object();//创建对象,创建对象有很多方式哦。使用这种方式才能有动态属性
argData[attrName]=cardNo1;//属性名称是attrName的值
console.log("JSON.stringify(argData):"+JSON.stringify(argData));//JSON.stringfy()是将对象转换成json,JSON.parse()是将变量转换成JSON。
$.post("bizCustomer/getListByAttr.do",eval("("+JSON.stringify(argData)+")"),function(data){//eval,这里需要立即执行,才能将信息传递给后台处理
if(data && data!=''){
$("#"+cardNoEl).tips({
side:3,
msg:'卡号:'+idNumber+" 已存在",
bg:'#AE81FF',
time:3
});
$("#"+cardNoEl).focus();
return false;
}else{
var reg = /(^\d{15}$)/;
if(reg.test(cardNo1) === false)
{
$("#"+cardNoEl).tips({
side:3,
msg:'卡号输入不合法',
bg:'#AE81FF',
time:3
});
}
$("#"+cardNoEl).focus();
return false;
}
});
}
}