serialize d'un formulaire
Voici aussi un autre exemple de code. J'ai du créer un fonction sérialize pour générer le post d'un formulaire généré en ajax. En effet Le serialize de jquery ne fonctionne pas sur ces formulaires(elle fonctionne uniquement sur les formulaires de la page principale) . D'ailleurs si vous avez un moyen de faire sans utiliser cette fonction homemade, je suis preneur.
Code:
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
|
function serialize_homeMade(formulaire) {
dun-formulaire/
if (formulaire == null) {return "null";}
var result = "" ;
for (i=0; i < formulaire.elements.length; i++)
{
var valeur;
switch (formulaire.elements[i].type) {
case "select-one" :
valeur=formulaire.elements[i].options[formulaire.elements[i].selectedIndex].value;
break;
case "checkbox" :
if(formulaire.elements[i].checked) {
valeur = 1;
} else {
valeur = 0 ;
}
break;
case "radio" :
valeur="";
var index_radio = i - 1;
var TMP = 0;
do{
index_radio = index_radio + 1;
if (formulaire.elements[index_radio + 1]){
if (formulaire.elements[index_radio].name == formulaire.elements[index_radio + 1].name) {
TMP = 1;
} else {
TMP = 2;
}
} else {
TMP = 2;
}
if(formulaire.elements[index_radio].checked){
valeur = formulaire.elements[index_radio].value;
}
}
while ( i < formulaire.elements.length && TMP== 1)
i = index_radio;
break;
default :
valeur=formulaire.elements[i].value;
}
if (formulaire.elements[i].type && formulaire.elements[i].type != "button") {
if (result != "") {result += "&";}
result += formulaire.elements[i].name + "=" + valeur ;
}
}
return result;
} |