我有一个表单字段需要唯一的代码值。当用户尝试输入新记录或更新现有记录时,我必须检查数据库中是否已经存在此代码。我提出了一个解决方案,我使用模糊函数发送Ajax调用,然后返回
true
false
这意味着该值已经存在,如果
是的
他们可以保存记录。下面是我的函数示例:
$('.check-code').on('blur',checkCode);
function checkCode(e) {
e.preventDefault();
var element = $(this).get(0),
fldVal = $(this).val(),
isValid;
if(!fldVal){
isValid = false
return;
}
$.ajax({
type: 'POST',
url: 'AjaxFunctions.cfc?method=checkCode',
data: {'fldVal':fldVal},
dataType: 'json'
}).done(function(obj){
if(obj.STATUS === 200){
if(obj.RESULT === true){
isValid = true;
element.setCustomValidity("");
}else{
isValid = false;
element.setCustomValidity(obj.MESSAGE);
}
}else{
$('#frm_message').show().addClass(obj.CLASS).html(obj.MESSAGE).delay(7000).fadeOut('slow').queue(function(){
$(this).removeClass(obj.CLASS).dequeue();
});
}
}).fail(function(jqXHR, textStatus, errorThrown){
alert('Error: '+errorThrown);
});
}
$('.frm-Submit').on('submit', submitFrm);
function submitFrm(e){
e.preventDefault();
var frmID = formData = $(this).serialize();
$.ajax({
type: 'POST',
url: 'AjaxFunctions.cfc?method=saveFrm',
data: formData,
dataType: 'json'
}).done(function(obj){
if(obj.STATUS === 200){
}else{
}
}).fail(function(jqXHR, textStatus, errorThrown){
alert('Error: '+errorThrown);
});
}