SiteExperts.com Logo Home | Community | Developer's Paradise | Jobs
User Groups | Site Tools | Site Information | Search

Inside Technique : Creating 2D Forms : The Code

  // This code can be reused and modified as long as the copyright
  // notice and URL are maintained.
  // This code is copyright 1998 InsideDHTML.com, LLC.
  // http://www.insideDHTML.com

  var layersSupport = (document.layers!=null) //NS4
 
  function checkValue(dest, src) {
    // Process input controls
    if ((src.type=="radio") || (src.type=="checkbox")) {
      if (src.checked) 
        dest.value = src.value;
    }
    else
      if (src.type=="select-one")
        dest.value = src.options[src.selectedIndex].value
      else
        dest.value = src.value
  }

  function findForms(fSubmit, d) {
    var formsLength = d.forms.length, fSource
    var elementsLength, eSource
    // Enumerate forms and find forms in same group
    for (var i=0; i < formsLength; i++) {
      fSource = d.forms[i]
      if ((fSubmit.name==fSource.name) && (fSubmit!=fSource)) {
        elementsLength = fSource.length
        // Copy fields
        for (var j=0; j < elementsLength; j++) {
          eSource = fSource[j]
          // Make sure field exists in submit form
          if (fSubmit[eSource.name]!=null) 
            checkValue(fSubmit[eSource.name], eSource)
        }
      }
    }
    // In NS 4 recurse throughs sub-documents
    if (layersSupport) { 
      var layersLength = d.layers.length
      for (var l=0; l < layersLength; l++)
        findForms(fSubmit, d.layers[l].document)
    }
  }

  function processSubmit(frm) {
    var elementsLength = frm.length
    for (var i=0; i < elementsLength; i++)
      if (frm[i].type=="hidden") // clear submit form
        frm[i].value = ""
    findForms(frm, window.document)      
  }
Discuss and Rate this Article

Page 1:Creating 2D Forms
Page 2:HTML Forms
Page 3:CSS-P and Forms
Page 4:CSS-P and DHTML
Page 5:Creating a 2D Form
Page 6:DemonstrationIE4, NS4
Page 7:The Code