Pb ajax

Résolu/Fermé
dargaud - 19 oct. 2009 à 13:46
 dargaud - 19 oct. 2009 à 18:09
Bonjour,
je suis entrain de créer une générateur de mot de passe aléatoire en ajax ma fonction crée correctement mon mot de passe mais au moment de l'afficher il l'affiche puis disparait (je le vois s'afficher que si je met un alert('ok') juste apres mon envoie dans ma fonction javascript) voici ma fonction que j'utilise pour l'affichage en ajax :

<script language="javascript">
function getXhr()
{
var xhr = null;
if(window.XMLHttpRequest) // Firefox et autres
xhr = new XMLHttpRequest();
else
if(window.ActiveXObject)
{ // Internet Explorer
try
{
xhr = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
}
else
{ // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
xhr = false;
}
return xhr;
}

function generer()
{
var xhr = getXhr();
// On défini ce qu'on va faire quand on aura la réponse
xhr.onreadystatechange = function()
{
// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
if(xhr.readyState == 4 && xhr.status == 200)
{
leselect = xhr.responseText;
// On se sert de innerHTML pour rajouter les options a la liste
document.getElementById('code').innerHTML = leselect;
}
}
xhr.open("GET","mdp.php",true);
xhr.send(null);
alert('ok');
}
</script>

et voici mon index :

<?php include "fonction.php"; ?>


<form id="form1" name="form1" method="post" action="">
<table width="349" border="0">
<tr>
<td width="182"><input type="submit" value="Generer mot de passe" onClick="generer();"> :</td>
<td width="151"> <div id="code"> </div></td>
</tr>
</table>
</form>


quelqu'un pourrais m'expliquer mon bug s'achant que je fais sa en local.
Merci beaucoup pour votre aide.

1 réponse

Meelas Messages postés 15 Date d'inscription lundi 19 octobre 2009 Statut Membre Dernière intervention 16 novembre 2009 7
19 oct. 2009 à 15:32
Salut,

Essaie de changer ton <input type="submit" value="Generer mot de passe" onClick="generer();"/>
par <input type="button" value="Generer mot de passe" onClick="generer();"/> .

Normalement ça marche, le button ne fait pas changer de page comme le submit. ;)
1
Salut,

Merci effectivement sans le changement de page mon mot de passe reste affiché.
Merci beaucoup pour ton aide :)
0