...

View Full Version : Browser compatibility and JavaScript



young_coder
11-15-2010, 10:42 PM
Dear all, can somebody help me with browser compatibility and this code. Working fine in Opera and Firefox, but do not working in Internet Explorer and Chrome. With one form working fine in every browser, but when I put second form it stops to work in Explorer and Chrome.



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
<META http-equiv=Content-Type content="text/html; charset=UTF-8">
<SCRIPT type="text/javascript">
function showDiv(divIndex) { var f=document.forms[0]; var d=f.getElementsByTagName('div');
for(i=0;i<d.length;i++)d[i].style.display='none'
d[divIndex].style.display = 'block';
}
</SCRIPT>
</HEAD>
<BODY>
<form>
<select onchange="showDiv(this.value); ">
<option value="0" selected>option 1</option>
<option value="1">option 2</option>
<option value="2">option 3</option>
</select>


<div style="display:block;"><form action="001.htm" method="get" >
Your state<br>
<select name="statecode" id="statecode">
<option value="">Choose State for option 1...</option>
<option value="AK">Alaska</option>
<option value="AL">Alabama</option>
<option value="AR">Arkansas</option>
</select>
<input type="submit" name="search" value="Get Quotes" />
</form></div>

<div style="display:none;"><form action="002.htm" method="get" >
Your state<br>
<select name="statecode" id="statecode">
<option value="">Choose State for option 2...</option>
<option value="AK">California</option>
<option value="AL">Colorado</option>
<option value="AR">Connecticut</option>
</select>
<input type="submit" name="search" value="Get Quotes" />
</form></div>

<div style="display:none;"><form action="003.htm" method="get" >
Your state<br>
<select name="statecode" id="statecode">
<option value="">Choose State for option 3...</option>
<option value="AK">Massachusetts</option>
<option value="AL">Maryland</option>
<option value="AR">Maine</option>
</select>
<input type="submit" name="search" value="Get Quotes" />
</form></div>

</form>
</BODY></HTML>

Philip M
11-15-2010, 11:01 PM
You must give both forms a (different) name.


All advice is supplied packaged by intellectual weight, and not by volume. Contents may settle slightly in transit.

Old Pedant
11-15-2010, 11:02 PM
YOu can *NOT* have NESTED <form>s. Period. Not allowed. At all.

If it happens to work in some browsers, you are (a) lucky and (b) the browsers are wrong.

Old Pedant
11-15-2010, 11:03 PM
You must give both forms a (different) name.


??? why?

Old Pedant
11-15-2010, 11:09 PM
No names on any of the <form>s. Works in all browsers.



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
<META http-equiv=Content-Type content="text/html; charset=UTF-8">
<SCRIPT type="text/javascript">
function showDiv(divIndex)
{
var holder = document.getElementById("subforms");
var subdivs = holder.getElementsByTagName("div");
for( var i=0; i < subdivs.length; i++ )
{
subdivs[i].style.display = ( i == divIndex ) ? "block" : "none";
}
}
</SCRIPT>
</HEAD>
<BODY>
<form>
<select onchange="showDiv(this.value); ">
<option value="0" selected>option 1</option>
<option value="1">option 2</option>
<option value="2">option 3</option>
</select>
</form>

<div id="subforms">
<div style="display:block;">
<form action="001.htm" method="get" >
ONE: Your state<br>
<select name="statecode" id="statecode">
<option value="">Choose State for option 1...</option>
<option value="AK">Alaska</option>
<option value="AL">Alabama</option>
<option value="AR">Arkansas</option>
</select>
<input type="submit" name="search" value="Get Quotes" />
</form>
</div>

<div style="display:none;">
<form action="002.htm" method="get" >
TWO: Your state<br>
<select name="statecode" id="statecode">
<option value="">Choose State for option 2...</option>
<option value="AK">California</option>
<option value="AL">Colorado</option>
<option value="AR">Connecticut</option>
</select>
<input type="submit" name="search" value="Get Quotes" />
</form>
</div>

<div style="display:none;">
<form action="003.htm" method="get" >
THREE: Your state<br>
<select name="statecode" id="statecode">
<option value="">Choose State for option 3...</option>
<option value="AK">Massachusetts</option>
<option value="AL">Maryland</option>
<option value="AR">Maine</option>
</select>
<input type="submit" name="search" value="Get Quotes" />
</form>
</div>
</div>
</BODY>
</HTML>

young_coder
11-15-2010, 11:21 PM
Thank you very much Old Pedant! This working perfectly :)



EZ Archive Ads Plugin for vBulletin Copyright 2006 Computer Help Forum