[AJAX] Appel d'une fonction dans une autre
bonjour à tous , je vais tenter de m'expliquer clairement car je rencontre un problème difficile à décrire :
pour visualiser le problème :
lien 1 : http://dealfrance.free.fr/newvers/
lien 2 : http://dealfrance.free.fr/newvers/inscription.php
si vous suivez le lien 1 vous tombé sur le site que je suis en train de mettre en place (pas de commentaire sur l'utilité du site , il est à titre démonstratif)
vous pouvez cliquer sur le lien inscription en haut a droite et vous verrez en cliquant sur les autres lien se que je souhaite faire en ajax :
faire apparaitre les page dans un div pour que seul un morceau de la page se recharge.
pour cela j'ai utilisé la fonction suivante sur mon index :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| <script type="text/javascript">
function envoieRequete(url,id)
{
var xhr_object = null;
var position = id;
if(window.XMLHttpRequest) xhr_object = new XMLHttpRequest();
else
if (window.ActiveXObject) xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
// On ouvre la requete vers la page désirée
xhr_object.open("GET", url, true);
xhr_object.onreadystatechange = function(){
if ( xhr_object.readyState == 4 )
{
// j'affiche dans la DIV spécifiées le contenu retourné par le fichier
document.getElementById(position).innerHTML = xhr_object.responseText;
}
}
// dans le cas du get
xhr_object.send(null);
}
</script> |
cette fonction affiche la page inscription.php dans la div page
Code:
<DIV id="page"></div>
lors du clic sur le lien codé de la facon suivante :
Code:
<a href="#" onclick="envoieRequete('inscription.php','page');">inscription</a>
ceci fonctionne comme vous pouvez le voir sur le lien 1
passons au lien numéro 2 : vous pouvez voir les vérification d'un champ de formulaire de facon quasi instantanée , encore une fois fait en ajax
ca fonctionne aussi
mon probleme est maintenant que si je combine les 2 ça ne fonctionne plus , je voudrai savoir comment faire pour que ça fonctionne (vous pouvez vérifier que ça ne fonctionne pas en cliquant sur inscription dans le lien numéro 1
les vérifications ne se font pas ou ne s'affiche pas)
je poste aussi le code de la vérification des champs que j'utilise :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
| <html>
<head>
<script type="text/javascript" src="jquery-1.2.3.js"></script>
<script>
$(document).ready(function()
{
$("input").focus(function()
{
var info_form=$(this).next(".info");
info_form.empty();
});
$("input").blur(function()
{
var name=($(this).attr("name"));
var value=($(this).attr("value"));
var info_form=$(this).next(".info");
if(value==undefined)
{
info_form.append("<span class='rouge'>Obligatoire</span>");
}
else if(name=="pseudo")
{
$.ajax({
type: "GET",
url: "./verification.php?pseudo="+value,
success:function(data)
{
if(data==1)
{
info_form.append("<span class='rouge'>Un compte avec le même pseudo existe déja</span>");
}
else
{
info_form.append("<span class='vert'>Valide</span>");
}
}
});
}
});
});
</script>
<style type="text/css">
.rouge
{
color:#FF0000;
}
.vert
{
color:#00bb00;
}
</style>
</head>
<body>
<form action="" method="post">
<label> Pseudo : </label><input type="text" name="pseudo"></input><span class="info"></span>
<br/>
<label> </label><input type="submit" name="inscription"></input></span class="info"></span>
</form>
</body>
</html> |
voila en gros , je me tiens a votre disposition si vous avez des questions et je remercie d'avance ceux qui auront la gentillesse de m'aider