Gérer le forum:  Aide  •  Rechercher  •  Liste des Membres  •  Groupes d'utilisateurs   •  S'enregistrer  •  Profil  •  Se connecter pour vérifier ses messages privés  •  Connexion 
 [AJAX] Problème avec ma fonction et formulaire POST... Voir le sujet suivant
Voir le sujet précédent
Poster un nouveau sujetRépondre au sujet
Auteur Message
Marvin
Newbiiiie
Newbiiiie




Messages: 4

MessagePosté le: Jeu 25 Aoû 2011 - 00:00 Répondre en citantRevenir en haut

Yop,

J'ai actuellement un léger soucis avec ma fonction AJAX POST. La voici :

Citation:
function Ajax_Test(_IDDiv,_IDCible,_Cible)
{
var req = null;

if (window.XMLHttpRequest)
{
req = new XMLHttpRequest();
if (req.overrideMimeType)
{
req.overrideMimeType('text/xml');
}
}
else if (window.ActiveXObject)
{
try
{
req = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
req = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
document.getElementById(_IDCible).innerHTML = "Erreur lors de la création de l'objet XMLHttpRequest...";
}
}
}

req.onreadystatechange = function()
{
// Terminée
if (req.readyState == 4)
{
if (req.status == 200)
{
document.getElementById(_IDCible).innerHTML = req.responseText; // responseXml
}
else if (req.status == 404)
{
document.getElementById(_IDCible).innerHTML = "La page n'a pas été trouvée...";
}
else
{
document.getElementById(_IDCible).innerHTML = "Erreur : " + req.status + " " + req.statusText;
}
}
};

req.open("POST", _Cible, true); // P1 (mode) : GET ou POST, P2 : URL, P3 : Asynchrone -> true / Synchrone -> false
req.setRequestHeader("Content-type","application/x-www.form-urlencoded");
var donnees = "ok="+escape(document.getElementById(_IDDiv).value);
req.send(donnees);
}


Tout marche bien, j'ai fais des alert pour vérifier si mes variables existent et sont remplis.

Le problème ce passe lors du $_POST["ok"]. Sur ma page de traitement lorsque je fais

Citation:

if((isset($_POST["ok"])&&(!empty($_POST["ok"])))
{
echo $_POST["ok"];
}
else
{
echo "toto";
}

Le résultat est toujours toto, peu importe ce que je saisis dans mon form. (le document.getElementById marche, j'arrive à afficher son contenu dans un alert.)

J'ai déja posté mon probleme sur le sdz, mais personne n'a été en mesure de m'aider.

Peut être que vous le pourrez =O

Merci!
Voir le profil de l'utilisateurEnvoyer un message privé

N'oubliez pas de vous inscrire à la communauté pour participer. Si vous êtes déjà membre, connectez-vous pour faire disparaître ce bandeau publicitaire.
hinomura
Forumeur occasionnel
Forumeur occasionnel


Licence Professionnelle

Messages: 15

MessagePosté le: Jeu 08 Sep 2011 - 17:03 Répondre en citantRevenir en haut

Url de ta page où on peut voir le code ?

De plus, si tu le peux, je te conseille fortement d'intégrer JQUERY ou PROTOTYPE pour tes requêtes AJAX et autres joyeuseries JAVASCRIPT.
Voir le profil de l'utilisateurEnvoyer un message privé
hinomura
Forumeur occasionnel
Forumeur occasionnel


Licence Professionnelle

Messages: 15

MessagePosté le: Jeu 08 Sep 2011 - 17:26 Répondre en citantRevenir en haut

Ah oui sinon, tu manipules des divs avec ta fonction apparemment vu le nom de tes variables ?

Si c'est le cas

Code:
var donnees = "ok="+escape(document.getElementById(_IDDiv).value);


est faux, il faudrait plutot

Code:
var donnees = "ok="+escape(document.getElementById(_IDDiv).innerHTML);


De plus, il manque une parenthèse dans ton expression

Code:
if((isset($_POST["ok"])&&(!empty($_POST["ok"])))


qui donnera

Code:
if((isset($_POST["ok"])&&(!empty($_POST["ok"]))))


Par contre, pour faire marcher ton truc, il faudrait aussi le reste de ta page.A

Et je persiste à dire qu'avec PROTOTYPE par exemple, tu te simplifierai violemment la tache ....
Voir le profil de l'utilisateurEnvoyer un message privé
Montrer les messages depuis:      
Poster un nouveau sujetRépondre au sujet
 Sauter vers:   



Voir le sujet suivant
Voir le sujet précédent
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum