[ Index ]
 

Code source de Dotclear 1.2.5

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/ecrire/js/ -> form.js (source)

   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  }


Généré le : Fri Feb 23 21:40:15 2007 par Balluche grâce à PHPXref 0.7