 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© 1997-2000 InsideDHTML.com, LLC. All rights reserved. |