Probleme envoie formulaire dans div ajax
Résolu
mrtechno01
-
Bertrand_O -
Bertrand_O -
Bonjour,
Etant en train de faire mon panel de gestion de mon site, je me trouve confronté a un problème concernant l'envoie de formulaire membre dans un div.
J'explique plus en détails la situation :
J'appelle dans mon div (gestion_panel) a l'aide d'une fonction ajax, un page php qui contient un formulaire de modifications d'informations d'un membre, mais la je me trouve bloqué car je souhaiterai que ce soit la même page php appelé qui contrôle et enregistre les informations modifiées dans le formulaire.
Je précise que le lien qui appel la page du formulaire dans mon div (gestion_panel) est sous la forme : page_div('formulaire.php?membre_id=123&admin=123&id=12345','gestion_panel');
voici ce que j'ai essayé :
1. test 1 qui ne fonctionne pas :
<form id="form_membre" name="form_membre" method="post" action="page_div('formulaire.php?membre_id=123&admin=123&id=12345','gestion_panel')">
...
</form>
2. test 2 qui ne fonctionne pas :
<form id="form_membre" name="form_membre" method="post" onsubmit="page_div('formulaire.php?membre_id=123&admin=123&id=12345','gestion_panel')">
...
</form>
Est ce que quelqu'un aurai une solution a mon problème ça serai super sympa car il ne me reste que ce problème la pour finaliser mon panel de gestion de mon site.
Etant en train de faire mon panel de gestion de mon site, je me trouve confronté a un problème concernant l'envoie de formulaire membre dans un div.
J'explique plus en détails la situation :
J'appelle dans mon div (gestion_panel) a l'aide d'une fonction ajax, un page php qui contient un formulaire de modifications d'informations d'un membre, mais la je me trouve bloqué car je souhaiterai que ce soit la même page php appelé qui contrôle et enregistre les informations modifiées dans le formulaire.
Je précise que le lien qui appel la page du formulaire dans mon div (gestion_panel) est sous la forme : page_div('formulaire.php?membre_id=123&admin=123&id=12345','gestion_panel');
voici ce que j'ai essayé :
1. test 1 qui ne fonctionne pas :
<form id="form_membre" name="form_membre" method="post" action="page_div('formulaire.php?membre_id=123&admin=123&id=12345','gestion_panel')">
...
</form>
2. test 2 qui ne fonctionne pas :
<form id="form_membre" name="form_membre" method="post" onsubmit="page_div('formulaire.php?membre_id=123&admin=123&id=12345','gestion_panel')">
...
</form>
Est ce que quelqu'un aurai une solution a mon problème ça serai super sympa car il ne me reste que ce problème la pour finaliser mon panel de gestion de mon site.
A voir également:
- Probleme envoie formulaire dans div ajax
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Formulaire de reclamation instagram - Guide
- Confirmer le nouvel envoi du formulaire err_cache_miss ✓ - Forum PHP
- Envoie impossible messenger - Forum Facebook Messenger
4 réponses
C'est bon j'ai résolu mon problème grasse a une autre fonction ajax qui prend en compte les post.
Voici ce code qui pourrai vous aider :
<script type="text/javascript">
function getFormData(form)
{
var data1 = "";
var form = document.getElementById(form);
var elements = form.elements;
for(var i=0; i<form.length; i++)
{
data1 += elements[i].name + "=" +escape(elements[i].value);
if((i+1)<form.length)
{
data1+="&";
}
}
return data1;
}
function ajax(fichier, div, method, form)
{
var xhr=null;
var data="null";
if(form!="null")
{
if(method=="GET")
{
data=form;
method="POST";
}
else
{
data = getFormData(form);
}
}
// détection du navigateur pour la création de l'objet XMLHttpRequest (soit l'acronyme xhr)
if (window.XMLHttpRequest)
{
xhr = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
xhr.open( method, fichier, false);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.send(data);
if (document.getElementById)
{
document.getElementById(div).innerHTML=xhr.responseText;
}
else
{
if (document.layers)
{
document.div.innerHTML=xhr.responseText;
}
else
{
document.all.div.innerHTML=xhr.responseText;
}
}
}
</script>
Voici ce code qui pourrai vous aider :
<script type="text/javascript">
function getFormData(form)
{
var data1 = "";
var form = document.getElementById(form);
var elements = form.elements;
for(var i=0; i<form.length; i++)
{
data1 += elements[i].name + "=" +escape(elements[i].value);
if((i+1)<form.length)
{
data1+="&";
}
}
return data1;
}
function ajax(fichier, div, method, form)
{
var xhr=null;
var data="null";
if(form!="null")
{
if(method=="GET")
{
data=form;
method="POST";
}
else
{
data = getFormData(form);
}
}
// détection du navigateur pour la création de l'objet XMLHttpRequest (soit l'acronyme xhr)
if (window.XMLHttpRequest)
{
xhr = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
xhr.open( method, fichier, false);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.send(data);
if (document.getElementById)
{
document.getElementById(div).innerHTML=xhr.responseText;
}
else
{
if (document.layers)
{
document.div.innerHTML=xhr.responseText;
}
else
{
document.all.div.innerHTML=xhr.responseText;
}
}
}
</script>
Bonjour,
Merci beaucoup !
J'ai utilisé votre code qui m'a tiré d'une situation bloquée depuis plusieurs jours et je vous en remercie beaucoup.
J'avais besoin de traiter le contenu d'un formulaire et de rediriger la réponse dans la div d'origine.
Parmi des dizaines de recherches c'est votre programme simple mais efficace qui m'a permis d'avancer.
Par contre j'ai du le passer on mode asynchrone pour que ça marche correctement.
Enfin j'ai une dernière difficulté que vous avez peut-être également rencontrée :
après avoir réaffiché la réponse au questionnaire, il arrive qu'elle soit effacée par un rafraîchissement intempestif de la popup dans laquelle est située la div.
Cela ressemble à une propagation d'événement mais je n'ai pas réussi à faire fonctionner "stopbubbling".
Merci encore.
Bien cordialement,
Bertrand.
Merci beaucoup !
J'ai utilisé votre code qui m'a tiré d'une situation bloquée depuis plusieurs jours et je vous en remercie beaucoup.
J'avais besoin de traiter le contenu d'un formulaire et de rediriger la réponse dans la div d'origine.
Parmi des dizaines de recherches c'est votre programme simple mais efficace qui m'a permis d'avancer.
Par contre j'ai du le passer on mode asynchrone pour que ça marche correctement.
Enfin j'ai une dernière difficulté que vous avez peut-être également rencontrée :
après avoir réaffiché la réponse au questionnaire, il arrive qu'elle soit effacée par un rafraîchissement intempestif de la popup dans laquelle est située la div.
Cela ressemble à une propagation d'événement mais je n'ai pas réussi à faire fonctionner "stopbubbling".
Merci encore.
Bien cordialement,
Bertrand.
Bon petite news,
J'ai réussi a envoyer le formulaire dans la div voulu mais le problème c'est que j'arrive pas a récupérer les informations saisies.
voici du coup ce qu'ai j'ai mis pour le faire :
<form id="form_membre" name="form_membre" method="post" action="javascript:page_div('formulaire.php?membre_id=123&admin=123&id=12345','gestion_panel')">
...
</form>
merci de m'aider pour récupérer les $_post['']
J'ai réussi a envoyer le formulaire dans la div voulu mais le problème c'est que j'arrive pas a récupérer les informations saisies.
voici du coup ce qu'ai j'ai mis pour le faire :
<form id="form_membre" name="form_membre" method="post" action="javascript:page_div('formulaire.php?membre_id=123&admin=123&id=12345','gestion_panel')">
...
</form>
merci de m'aider pour récupérer les $_post['']