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

  • Digg
  • del.icio.us
  • Netscape
  • Reddit
  • StumbleUpon
  • Technorati
  • YahooMyWeb

HTML Forms
HTML Form Tutorial
The Form Tag
The Form Submit Button
Form design software

Javascript Form Handling
  Basics
Using getElementById to get the elements in a form
Set value of form element using JavaScript
Get value of form element using JavaScript
Handling multiple forms using JavaScript
JavaScript reset/clear a form
  Advanced
JavaScript Form Validation
Submitting a form using JavaScript
Can JavaScript Email a Form?
Switching the form action field dynamically
JavaScript Button

JavaScript Popup Windows
The window.open method
The window.close method
More ...

 
.   Copyright © 2003-2008 Simfatic Solutions. All rights reserved.