我的动态生成的文本框有问题。 我希望对所有文本框进行必需和远程验证。
HTML
<li>
<label class="label">name 1</label>
<input type="text" name="name_1" id="name_1" class="req_aap" value="" />
<label id="aap_error" class="error"></label>
</li>
<li>
<label class="label">name 2</label>
<input type="text" name="name_2" id="name_2" class="req_aap" value="" />
<label id="aap_error" class="error"></label>
</li>
<li>
<label class="label">name 3</label>
<input type="text" name="name_3" id="name_3" class="req_aap" value="" />
<label id="aap_error" class="error"></label>
</li>
<li>
<label class="label">name 4</label>
<input type="text" name="name_4" id="name_4" class="req_aap" value="" />
<label id="aap_error" class="error"></label>
</li>
................can be any number of fields................
JS
$.validator.addClassRules("req_aap", {
required:true,
remote:{
url: "some_ajax.php",
type: "post",
data: {
name: function() {return $(this).val();},
tblNM:'someTable'
},
complete: function(data){
return data;
}
}
});
some_ajax.php:
if(isset($_REQUEST['name'])) {
if(getValFromTbl('name',$_REQUEST['tblNM'],'name="'.addContent($_REQUEST['name']).'"'.$fld)!='')
{
$valid = 'false';
}
else {
$valid = 'true'; // Allowed
}
echo $valid;
}
getValFromTbl
是返回记录是否存在的函数。
这工作得很好。
我得到的 true 和 false 完全符合我的要求,但我的 jQuery 验证也不断给出错误。 它总是进入错误条件并给出验证错误如果我输入true值,那么它也会给出错误。
最佳答案
我在表单中尝试了完全相同的示例,因为我没有 getValFromTbl(),所以我尝试用 true 代替它并检查名称字符串。工作正常..看看代码是否有帮助..
html页面
<!DOCTYPE html>
<html>
<head>
<title>trying jquery validation</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js"></script>
<script type="text/javascript">
$(function(){
$('.frm').validate();
$.validator.addClassRules("req_aap", {
required:true,
remote:{
url: "some_ajax.php",
type: "post",
data: {
name: function() {return $(this).val();},
tblNM:'someTable'
}
complete: function(data){
return data;
}
}
});
});
</script>
</head>
<body>
<form class="frm">
<ul>
<li>
<label class="label">name 1</label>
<input type="text" name="name_1" id="name_1" class="req_aap" value="" />
<label id="aap_error" class="error"></label>
</li>
<li>
<label class="label">name 2</label>
<input type="text" name="name_2" id="name_2" class="req_aap" value="" />
<label id="aap_error" class="error"></label>
</li>
</ul>
<input type="submit"></input>
</form>
</body>
</html>
some_ajax.php
<?php
if(isset($_REQUEST['name'])) {
if($_REQUEST['name'] != '')
{
$valid = 'false';
}
else {
$valid = 'true'; // Allowed
}
echo $valid;
}
关于javascript - 具有相同类的动态生成文本框的远程验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37406079/