Hi Tom,
Since you are going to end up using php/mySQL, this example might be of more use than a straight javascript example.
This is for a page called dropbox.php:
<html>
<?php
if (!$StateID)
{
?>
<head>
<Script Language="Javascript">
// This function is triggered when the value in the select box changes. It takes the selected value and encodes it to the url of the page, which is refreshed to allow the php code to re-run.
function getCity()
{
var StateID = document.addressForm.State.options[document.addressForm.State.selectedIndex].value;
StateID = escape(StateID);
var goTo = "dropbox.php" + "?StateID=" + StateID;
window.location = goTo;
}
</Script>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<form name="addressForm" method="post" action="">
<p>State:
<select name="State" size="1" onChange="getCity()">
<option value="1">Ohio</option>
<option value="2">California</option>
<option value="3">New York</option>
</select>
</p>
<p>City:
<select name="city" size="1">
<option value="Cleveland">Cleveland</option>
<option value="Columbus">Columbus</option>
</select></p>
</form>
</body>
</html>
<?php
}
if ($StateID)
{
?>
<head>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<form name="addressForm" method="post" action="">
<p>State: <select name='State' size='1'>
<?php
if ($StateID == 1)
{
echo "<option value='1' selected>Ohio</option>";
echo "</select>";
echo "<p>City: <select name='city' size='1'>";
echo "<option value='1' selected>Cleveland</option><option value='2'>Columbus</option>";
echo "</select></p>";
}
elseif ($StateID == 2)
{
echo "<option value='2' selected>California</option>";
echo "</select>";
echo "<p>City: <select name='city' size='1'>";
echo "<option value='3' selected>San Franscisco</option><option value='4'>Los Angeles</option>";
echo "</select></p>";
}
elseif ($StateID == 3)
{
echo "<option value='3' selected>New York</option>";
echo "</select>";
echo "<p>City: <select name='city' size='1'>";
echo "<option value='5' selected>New York</option><option value='6'>Townsville</option>";
echo "</select></p>";
}
?>
</form>
</body>
</html>
<?php
}
?>
You can easily replace that php code with code to reflect a result set from a mySQL query.
Hope that this is of some help to you. (PS - forgive the fact that I have no idea of any other cities in NY State than NYC... I'm a Kiwi

)
Jen