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 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
|
function EnvoieFormulaire(form,page,param,reponse,calque)
{
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
}
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)
{
if(reponse == "alert")
alert(xhr.responseText);
else if(reponse == "html")
ChargePage(page, input+textarea+selects+"&"+param, '', '', calque);
else if(reponse == "return")
{
alert(xhr.responseText); // AFFICHAGE DE OK
return(xhr.responseText); // on devrait retourner ok
}
}
}
xhr.open("POST",page,true);
// Obligatoire pour transmettre des données en POST
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
if(form != "")
{
formulaire = document.getElementById(form);
// input
var TabInput = formulaire.getElementsByTagName('input');
var input ="input=input";
for(var i=0; i<TabInput.length; i++)
{ if( TabInput[i].type!="checkbox" || TabInput[i].checked == true )
input+= "&"+TabInput[i].name+"="+TabInput[i].value;
}
// textarea
var textarea = "";
var TabTextarea = formulaire.getElementsByTagName('textarea');
for(i=0; i<TabTextarea.length; i++)
textarea+= "&"+TabTextarea[i].name+"="+TabTextarea[i].value;
textarea = textarea.replace(/\n/gi,"<br />");
// select
var selects = "";
var TabSelects = formulaire.getElementsByTagName('select');
for(i=0; i<TabSelects.length; i++)
selects+= "&"+TabSelects[i].name+"="+TabSelects[i].value;
}
else
{
var input ="input=input";
var textarea = "";
var selects = "";
}
// Envoie de toutes les données
xhr.send(input+textarea+selects);
} |
Partager