[thelist] style.display = 'none' and form elements

Ben Gustafson Ben_Gustafson at lionbridge.com
Tue Oct 7 12:05:42 CDT 2003

I'm trying to set up a form validation routine where certain form elements
are removed from the page given user input. The way I am hiding the elements
is by using the style.display property. My understanding of display is that
display = 'none' should take the element out of the document flow and
elements array entirely, as if it were not there at all. But a simple test
seems to show that this is not the case:

	<script language="JavaScript1.2"><!--
	var elems = document.getElementsByTagName("input");
	function hide()
		for (var i=0; i<elems.length; i++)
			if (elems[i].name == "inText")
				elems[i].style.display = 'none';
	function checkIfHidden()
		for (var i=0; i<elems.length; i++)
			alert(elems[i].name + ": " +
		return true;
<input type="button" name="hide" value="Hide" onClick="hide();">
<form action="test.asp" name="test" id="test" method="get"
<input type="text" name="inText">
<input type="submit" name="btn">

The inText element is still found in the checkIfHidden() loop, and it still
gets put in the query string when the form is submitted. I have tested this
in IE6 and NS7.1 Am I misunderstanding how display is used or what it does?



More information about the thelist mailing list