Jquery文件
$(document).ready(function() {
$('input.textinput3').each(function() {
$(this).rules("add",
{
required: true,
minlength: 3,
remote: "report/user_check.php",
messages: {
required: "Type Serial number!",
minlength: jQuery.format("Please, at least {0} character are necessary"),
remote: jQuery.format("{0} is already taken"),
// remote: 'This email address has already been used'
}
})
});
// initialize the validator
$('form.warregform').validate();
});
我的PHP文件
include("db.class1.php");
if (isset($_POST['wproserial'])) {
$db = new mysqldb();
$db->select_db();
for ( $i=0;$i<count($_POST['wproserial']);$i++) {
{
$wproserial = $_POST['wproserial'][$i];
}
}
$query = "SELECT EXISTS (SELECT * FROM products WHERE SerailNo='mysql_real_escape_string($wproserial)')";
if($db->num_rows($db->query($query)) < 1) {
return true;
}else {
return false;
}
}
我无法检查现有数据库的验证,此序列号。已注册或未注册。每个输入数据都显示消息“已经被采取”。所以我不能提交。我的Serial no input字段无限制。
我的Html文件
default show
<input name="wproserial[]" id="wproserial0" type="text" value="" class="textinput3 " autocomplete="off">
After Add
<input name="wproserial[]'+i+'" id="wproserial'+i+'" type="text" value="" class="textinput3">
答案 0 :(得分:1)
更改您的查询
$query = "SELECT EXISTS (SELECT * FROM products WHERE SerailNo='mysql_real_escape_string($wproserial)')";
到这个
$query = "SELECT * FROM products WHERE SerailNo='".mysql_real_escape_string($wproserial)."'";
答案 1 :(得分:0)
远程验证期望您的服务器端脚本返回json。您应该执行以下操作,而不是仅仅返回true
或false
:
if($db->num_rows($db->query($query)) < 1) {
$valid = 'true';
} else {
$valid = 'false';
}
echo json_encode($valid);
答案 2 :(得分:0)
试试这个
$query = "SELECT EXISTS (SELECT * FROM products WHERE SerailNo='".mysql_real_escape_string($wproserial)."')";
代替
$query = "SELECT EXISTS (SELECT * FROM products WHERE SerailNo='mysql_real_escape_string($wproserial)')";