Example: Using Javascript to access a form when there are multiple forms

Write an Article (form name attribute="submit_article")



Bookmark A Page (form name attribute="submit_bookmark")



Getting a reference to the above forms and their elements

Demonstrating the use of document.forms[name]

Demonstrating the use of document.forms[index]


The code

function showFormElements(oForm) {
  var cnt = 0;
  var msg = "Form with 'name' attribute='" + oForm.name + "'";
  var str = "\nThe elements are: \n\n";
  for (i = 0; i < oForm.length; i++) {
  cnt ++;
  str += oForm.elements[i].tagName + " with 'name' attribute='" + oForm.elements[i].name + "'\n";
  }

  msg += " has " + cnt + " elements. \n" + str;
  alert(msg);
}

function showFormData(oForm) {
  var msg = "The data that you entered for the form with 'name' attribute='" + oForm.name + "': \n";
 
  for (i = 0; i < oForm.length, oForm.elements[i].getAttribute("type") !== 'button'; i++) {
    msg += oForm.elements[i].tagName + " with 'name' attribute='" + oForm.elements[i].name + "' and data: ";
    if(oForm.elements[i].value == null || oForm.elements[i].value == '') {
    msg += "NOT SET \n";
    } else {
      msg += oForm.elements[i].value + "\n";
    }
  }

  alert(msg);
}

function showElementsForTargetForm(targetForm, element_type) {
  var cnt = 0;
  var msg = "Form with 'name' attribute='" + targetForm.name + "'";
  var str = '\n';
  for (i = 0; i < targetForm.length; i++) {
  if(targetForm.elements[i].tagName == element_type) {  
    cnt ++;
    str += "\nThe " + element_type + " element with 'name' attribute='" + targetForm.elements[i].name + "'\n";
  }
  }

  msg += " has " + cnt + " " + element_type + " element(s)." + str;
  alert(msg);

}


function showElementsForTargetFormName(oForm) {
  var targetFormName = oForm.elements["form_name"].value;
  var element_type = oForm.elements["element_type"].value;
  var targetForm = document.forms[targetFormName];

  showElementsForTargetForm(targetForm, element_type);
}


function showElementsForTargetFormNumber(oForm) {
  var targetFormNumber = oForm.elements["form_number"].value;
  var element_type = oForm.elements["element_type"].value;
  var targetForm = document.forms[targetFormNumber];

  showElementsForTargetForm(targetForm, element_type);
}

Download the code here: javascript-forms-example-2.zip

Back to article:Using JavaScript to access form objects when there are multiple forms