rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

[Javascript] Problème récupération variables

  Posté par Gobyver, le mercredi 14 juin 2006 à 12:10:38
Bonjour à tous,
j'ai récupéré des morceaux de scripts que j'ai réussi à intégrer et à faire fonctionner entre eux.
Il s'agit d'un petit formulaire avec un select sur le login, un input non modifiable contenant le password actuel et un autre input contenant le nouveau mot de pass. Le submit fait appel à une fonction javascript qui utilise la technologie AJAX, ce qui me permet via une page de traitement en php, de faire mes update où bon me semble.
Là où je bloque c'est sur le retour, j'aimerais que le premier input non modifiable name=\"souscat\" contienne le nouveau mot de passe, et là je bloque. Auriez-vous une idée. Voici mon code, un peu allégé :

<?
session_start(); // On relaye la session
if (session_is_registered("authentification"))
{
} else {
session_unset("authentification");
header("Location:index.php?erreur=intru"); // redirection en cas d'echec
}
?>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="styles.css" rel="stylesheet" type="text/css">
<script type="text/javascript">
if(document.all && !window.opera)
{
//si Internet Explorer ou Opera
var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ;
}
else
{
//si Mozilla
var XhrObj = new XMLHttpRequest();
}

/**
* Permet d'envoyer des données en GET ou POST en utilisant les XmlHttpRequest
*/
function sendData(param, page)
{
//définition de l'endroit d'affichage:
var content = document.getElementById("contenu");

XhrObj.open("POST", page);

//Ok pour la page cible
XhrObj.onreadystatechange = function()
{
if (XhrObj.readyState == 4 && XhrObj.status == 200)
content.innerHTML = XhrObj.responseText ;
}

XhrObj.setRequestHeader('Content-Type','application/x-www-fo­rm-urlencoded');
XhrObj.send(param);
}//fin fonction SendData

function gestionstatechange() {
var elt = document.getElementById('loading');
switch (XhrObj.readyState) {
case 1:
// 1 (loading) début du transfert des données : loading visible
elt.style.display="block";
// test à supprimer
//alert('1');
//break;
case 2:
// 2 (loaded) données transférées : loading visible
elt.style.display="block";
// test à supprimer
//alert('2');
//break;
case 3:
// 3 (interactive) les données reçues sont accssibles en partie : loading visible
elt.style.display="block";
// test à supprimer
//alert('3');
//break;
case 4:

//si la page cible est OK (code HTTP 200) et 4 (complete :les données sont complètement accessibles), loading caché
// NB : Firefox declanche avec "status" tant que le code de chargement n'est pas à 4
if (XhrObj.status == 200)
{
//définition de l'endroit d'affichage:
var content = document.getElementById("retour");
//on affecte à l'endroit d'affichage la valeur du fichier distant recupéré avec la propriété .responseText
content.innerHTML = XhrObj.responseText ;
// s'il y avait un Javascript à interpreter dans le fichier distant, on ecrirait : eval(XhrObj.responseText);
}
elt.style.display="none";
document.add.newpass.value = "";
// test à supprimer
//alert('Requete terminee');
//break;
//default:
// 0 (uninitialized) non initialisé
//alert('Le serveur est bloqué. Veuillez recommencer.');
//break;
}
}

// Fonction d'envoi des données sur le fichier PHP distant
function envoi(donnees, page) {
// On spécifie la page cible et les modalité d"envoi (true spécifie le mode asynchrone)
var sURL = "traitement_admin_password.php";
// on peut aussi utiliser GET ou HEAED
XhrObj.open("POST",sURL,true);
// declanche la fonction qui affiche le loading en fonction de l'etat de la requetet
XhrObj.onreadystatechange = gestionstatechange;
// et on execute la requete elle-meme ( send ) : header puisque c'est une methode POST, puis données
XhrObj.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
XhrObj.send(donnees);
}
</script>
</head>
<body bgcolor="#F0F0F0">
<br><br>
<div id="div_form">
<form method="POST" action="" name="add" id="add">
<div class="titre">- : : : ESPACE ADMINISTRATION - PASSWORD : : : -</div>
<p align="center"></p>
<p align="center"><strong><u>Modificat­ion des Password</u></strong></p>
<table width="350" border="0" align="center" cellpadding="5" cellspacing="0" class="tableaux">
<tr>
<td width="40">Login </td>
<td width="144">
<?php
mysql_select_db($database_dbprotect, $dbprotect);
$query_users = "SELECT login,privilege FROM utilisateurs ORDER BY SOCIETE ASC"; // ORDER BY renvoi les données triées (ici par nom croissant)
$users = mysql_query($query_users, $dbprotect) or die(mysql_error());
$i=0; // variable de test
$j=0; // variable pour garder la valeur du premier enregistrement catégorie pour l'affichage
?>
<select size="1" name="cat" OnChange="sendData('id='+this.value,'liresc.php')"­ onKeyUp="sendData('id='+this.value,'liresc.php')"&­gt;

<?php
while ($dt=mysql_fetch_row($users))
{
// Remplir la liste déroulante des catégorie
echo "<option value=".($dt[0]).">".($dt[0])."</o­ption>";
if ($i==0) { $j=$dt[0]; $i=1; } // garder la valeur du premier enregistrement
}

?>
</select></td></tr><br><br>

<tr>
<td>Mot de pass actuel </td>
<td>
<span id="contenu">
<?php
// affichage des sous-catégorie appartenant à la première catégorie.
echo "<input type=\"text\" name=\"souscat\" id=\"souscat\" onFocus=\"this.blur()\"";
$rq="Select pass2 from utilisateurs where login='".$j."';";
$result= mysql_query ($rq) or die(mysql_error());
// $i = initialise le variable i
$i=0;
while ($dt=mysql_fetch_row($result))
{
echo " value=".utf8_encode($dt[0])."><br>";­
}
?>
</span>
</td></tr>
<br><br>
<tr>
<td>Nouveau mot de pass </td>
<td>
<input name="newpass" type="password" id="pass">
</td>
</tr>
<tr>
<td height="50" colspan="2"><div align="center">
<input type="button" name="Ok" value="Modifier" onClick="javascript:envoi('cat='+document.add.cat.value­+'&souscat='+document.add.souscat.value+'&newpass='+­document.add.newpass.value, 'traitement_admin_password.php')">
<div id="loading" style="display: none;"><img src="./ANIM_WAIT/new_anim_attente.gif" border="0"></div>
</div></td>
</tr>
</table>
</form>
<span id="retour"></span>
</div>
</body>
</html>

Merci Pour votre aide.
A bientôt.
Répondre à Gobyver  Signaler ce message aux modérateurs
Logiciels pertinents trouvés dans les téléchargements
Télécharger PSPad 4.5.2PSPad - PSPad est un excellent éditeur de texte. Il est utile pour travailler sur du simple texte, mais aussi sur du HTML, CSS,...Catégorie: Développement
Licence: Freeware/gratuit
Télécharger SoftPerfect File Recovery 1.2SoftPerfect File Recovery - SoftPerfect File Recovery (seulement 253 ko) permet de récupérer des fichiers effacés par inadvertance, même après vidage de...Catégorie: Sauvegarde
Licence: Freeware/gratuit
Télécharger HandyRecovery 1.0HandyRecovery - Ce petit programme permet de récupérer des fichiers effacés par inadvertance, même après vidage de la corbeille. ...Catégorie: Sauvegarde
Licence: Freeware/gratuit
Télécharger Web Developer Toolbar 1.1.6Web Developer Toolbar - WebDeveloper est une extension firefox représentant une formidable boîte à outils pour examiner et manipuler les pages...Catégorie: Extensions Firefox
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « [Javascript] Problème récupération variables »