我使用jquery validator 1.8制作了一个简单的验证系统。离线(xampp for mac os 1.7.3)就像一个魅力。当我上网时,验证变得疯狂。 选中字段(用户名)上的正常行为是,使用php文件,实时检查用户名在数据库中是唯一的。 在线,直到你去场地,退出并返回它,检查才会完成。 (这是正常的)然后它开始检查(并且似乎工作)但是当一切顺利时,我看到无论如何错误消息是“1”而不是什么,并且它被认证者认为是错误,停止提交表格.... 这是代码:
HTML:
<!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>
<meta http-equiv="Content-Type" content="text/html;" />
<meta charset="utf-8">
<title>Documento senza titolo</title>
<!-- jquery //-->
<script src="js/jquery-1.8.3.js"></script>
<script src="js/jquery-ui-1.9.2.custom/js/jquery-ui-1.9.2.custom.js"></script>
<!-- jquery validazioni
<script type="text/javascript" src="js/jquery-validation-1.8.1/jquery.validate.js"></script>
//-->
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.js"></script>
<script type="text/javascript" src="js/jsBetta/messaggiErrore.js"></script>
<!-- datepicker lingua italiana //-->
<script type="text/javascript" src="js/linguaIT/jquery.ui.datepicker-it.js"></script>
<!-- script MIEI (validazione e funzioni) //-->
<script type="text/javascript" src="js/jsBetta/funzioni.js"></script>
<script type="text/javascript" src="js/jsBetta/registrazione.js"></script>
<link rel="stylesheet" href="css/stile.css" />
<link rel="stylesheet" href="js/jquery-ui-1.9.2.custom/css/custom-theme/jquery-ui-1.9.2.custom.css" />
</head>
<body>
<form action="registrazioneDB.php" id="insertUtenteForm" method="post">
<fieldset>
<label for="nome_utente">Username:</label>
<input type="text" name="nome_utente" id="nome_utente" maxlength="30"autocomplete="off">
</fieldset>
<fieldset>
<input id="bottoneSubmit" name="bottoneSubmit" class="submit" type="submit" value="Registrati">
</fieldset>
</form>
</body>
</html>
registrazione.js:
$(document).ready(function(){
var nome_utente;
jQuery('#insertUtenteForm').validate({
rules:
{
nome_utente:
{required: true,
remote: { url:"AdMin/usrAvailCk.php", async:false }}
},
messages: {
nome_utente: { remote: " Username non disponibile"}
},
invalidHandler: function(form, validator) {
var errors = validator.numberOfInvalids();
if (errors) {
alert("Si prega di riempire correttamente i campi obbligatori, evidenziati con l'asterisco.");
validator.errorList[0].element.focus();
}
},
});
return false;
});
usrAvailCk.php
<?php
include "connessione.php";
$nome_utente=$_GET['nome_utente'];
$queryUserAvailable = "SELECT * FROM utente where nome_utente='$nome_utente'";
$rsUserAvailable = connetti($queryUserAvailable);
if(mysql_num_rows($rsUserAvailable) == 0){
$valid=true;
}
else{
$valid=false;
}
echo json_encode($valid);
?>
messaggiErrore.js
jQuery.extend(jQuery.validator.messages, {
required: " *",
email: " *",
equalTo: " *",
maxlength: jQuery.validator.format(" *"),
minlength: jQuery.validator.format(" *"),
remote: " *",
});
jQuery(document).ready(function() {
// imposto i dettagli dei messaggi di validazione
$.validator.addMethod("valueNotEquals", function(value, element, arg){
return arg != value;}, " *");
//$.validator.messages.required = ' *';
//$.validator.messages.email=' *';
});
答案 0 :(得分:0)
http://jquerybyexample.blogspot.com/2012/01/write-and-test-your-jquery-code-online.html - 这是验证代码的在线工具
答案 1 :(得分:0)
很抱歉忘了这个问题。在这个问题之后很多时候,我的一个朋友为我解决了这个问题。所以,就是这样。
当您在线传输代码时,您应该使用 phpinfo (),一个简单的php函数进行检查,其中版本的php服务器支持以及服务提供。
在这种情况下,这是 json_encode ()问题。这个功能(显然!)只有在json服务启动并运行时才有效。在我的情况下,服务器提供了一个相当古老的PHP版本,json不可用,json_encode的结果毫无意义。