[ Index ] |
|
Code source de Dotclear 1.2.5 |
1 var currentForms = new Array(); 2 var formsInPage = new Array(); 3 var formSubmit = false; 4 var closePagePrompt = 'You have unsaved changes'; 5 6 function getCurrentForms() { 7 if (document.getElementById && document.getElementsByTagName) { 8 formsInPage = document.getElementsByTagName('form'); 9 10 for (var i=0; i<formsInPage.length; i++) { 11 f = formsInPage[i]; 12 var tmpForm = new Array(); 13 for (var j=0; j<f.elements.length; j++) { 14 tmpForm.push(getFormElementValue(f[j])); 15 } 16 currentForms.push(tmpForm); 17 } 18 } 19 } 20 21 function addFormsEvent() { 22 if (formsInPage.length == 0) { 23 return null; 24 } 25 26 for (var i=0; i<formsInPage.length; i++) { 27 formsInPage[i].onsubmit = function() { formSubmit = true; }; 28 } 29 } 30 31 function compareForms() { 32 if (currentForms.length == 0) { 33 return null; 34 } 35 36 for (var i=0; i<formsInPage.length; i++) { 37 form = formsInPage[i]; 38 39 for (var j=0; j<form.elements.length; j++) { 40 if (currentForms[i][j] != getFormElementValue(form[j])) { 41 return false; 42 } 43 } 44 } 45 46 return true; 47 } 48 49 function getFormElementValue(e) { 50 if (e.type == 'radio') { 51 return getFormRadioValue(e); 52 } else if (e.type == 'checkbox') { 53 return getFormCheckValue(e); 54 } else { 55 return e.value; 56 } 57 } 58 59 function getFormCheckValue(e) { 60 if (e.checked) { 61 return e.value; 62 } 63 return null; 64 } 65 66 function getFormRadioValue(e) { 67 for (var i=0; i <e.length; i++) { 68 if (e[i].checked) { 69 return e[i].value; 70 } else { 71 return null; 72 } 73 } 74 } 75 76 function confirmCloseForms(event_) { 77 if (!event_ && window.event) { 78 event_ = window.event; 79 } 80 81 if (!formSubmit) { 82 if (!compareForms()) { 83 event_.returnValue = closePagePrompt; 84 85 return closePagePrompt; 86 } 87 } 88 }
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Fri Feb 23 21:40:15 2007 | par Balluche grâce à PHPXref 0.7 |