









Cette fonction vous permettra d'enregistrer un formulaire avec toute les informations rentrées par l'utilisateur à un instant T
Array.prototype.in_array = function(valeur) { for (var i in this) { if (this[i] == valeur) return i;} return -1; } function fixForm(myForm,disableMe) { var radioName= new Array(); //gestion des inputs allInput=myForm.getElementsByTagName('input'); for (var i=0;i<allInput.length;i++) { //pour les champs text if (allInput[i].type=="text") { allInput[i].setAttribute("value",allInput[i].value); } //pour les checkbox else if (allInput[i].type=="checkbox" && allInput[i].checked==true) { allInput[i].setAttribute("checked",true); } //pour les radios else if (allInput[i].type=="radio" && radioName.in_array(allInput[i].name)==-1) { //on enregistre dans le tableau radioName les différents nom des boutons radio radioName.push(allInput[i].name); } if (disableMe==true) { if (allInput[i].name!="resultForm") {//le champ hidden ne doit pas etre disable allInput[i].setAttribute("disabled",true); } } } //on gère les radiobuttons selon les nom enregistré dans radioName for (var i=0;i<radioName.length;i++) { //getElementsByName ne fonctionne pas sur les formulaire il faut l'appliquer au document entier thisRadio=document.getElementsByName(radioName[i]); for (var j=0;j<thisRadio.length;j++) { if (thisRadio[j].checked==true) { thisRadio[j].setAttribute("checked",true); } else { thisRadio[j].removeAttribute("checked"); } } } //gestion des select allSelect=myForm.getElementsByTagName('select'); for (var i=0;i<allSelect.length;i++) { for (j=0;j<allSelect[i].options.length;j++) { allSelect[i].options[j].setAttribute("selected",false);//on remet toutes les options a false } //on met l'attribut selected a true pour l'option selectionnée allSelect[i].options[allSelect[i].selectedIndex].setAttribute("selected",true); if (disableMe==true) { allSelect[i].setAttribute("disabled",true); } } //pour les textareas allArea=myForm.getElementsByTagName('textarea'); for (var i=0;i<allArea.length;i++) { allArea[i].innerHTML=allArea[i].value; if (disableMe==true) { allArea[i].setAttribute("disabled",true); } } return (myForm.innerHTML); }
MyForm est un objet html de type formulaire.
Exemple d'utilisation:
function launchForm(myForm) { var resultForm=fixForm(myForm,true); myForm.resultForm.value=resultForm; myForm.submit(); }
La fonction launchForm enregistre dans la variable resultForm le formulaire myForm.
True signifie que les champ de formulaire seront rendu inactif (disabled).
myForm.resultForm.value=resultForm permet de remplir un champ caché nomé resultForm. myForm.submit() post le formulaire.
17/08/2007 14:07 -
ManiT4c
Vous désirez créer votre site web ? Je suiswebmaster en normandie sinon vous pouvez consulter mon profil yoolink pour suivre mon actu.
Discussion