J'apprends à utiliser JQuery pour vérifier la disponibilité des données.
Pour commencer, j'ai écrit quelques lignes de codes en utilisant cakePHP.
Comment transmettre des données à JQuery AJAX dans CAKEPHP
J'ai écrit une fonction dans un contrôleur pour le contrôle de la saisie des données,
et l'URL est comme ceci: http://www.mywebsite.com/controllers/action/avariable
je tentais de passer la valeur dans un champ de texte d'entrée en utilisant l'JQuery Ajax à l'URL ci-dessus,
mais je ne sais pas pourquoi cela ne fonctionne pas en passant une variable à l'action du contrôleur.
Pourriez-vous m'aider s'il vous plait?
<Script language="javascript">
//<!--
$(document).ready(function(){
$(document).change(function() {
var usr = $("#data\\[User\\]\\[name\\]").val();
if(usr.length >= 3){
$("#username").append('<span><img align="absmiddle" src="loader.gif" />Checking</span>');
$.ajax({
type: "POST",
url: "http://www.mywebsite.com/controllers/action/",
data: usr,
success: function(msg){
if(msg == 'OK')
{
$("#username").append('<span><img align="absmiddle" src="accepted.png"/></span>');
}
else
{
$("#username").append('<span>'+msg+'</span>');
}
}
});
}
else
{
$("#username").append('<span>The username should have at least 3 characters.</span>');
}
});
});
//-->
</Script>
<form name="adduser" id="adduser" method="post" action="/controllers/action2">
<table border=0 width="100%">
<tr>
<td>Username</td>
<td>
<div id="username">
<input type=text name="data[User][name]" id="data[User][name]">
</div>
</td>
</tr>
<tr>
<td>
<input type="submit" value="Send">
</td>
</tr>
</table>
</form>
Voici le code de l'action:
function action($uname=null){
$result2=$this->__avail($uname);
if($result2==1)
{return "OK";}
else
{return "NOT";}
}
L'événement 'change' sera lancé dans' document' et déclenchera le gestionnaire. – user113716
patrick, je vois. Le seul problème avec cela est l'implication évidente qu'un autre élément déclenchera le même événement involontairement. – tbranyen