مشکل کدتون این بود که صفت های name رو براشون تعریف نکرده بودین. من یکه مثال ساده با PHP نوشتم.
البته فکر می کنم الان هم مشکل داره چون هنگام ارسال فرم، ارزش های Select کشور ارسال میشن. مثلا برای USA در PHP این عبارت چاپ میشه:
California,New York,Ohio,Colorado,Florida,Texas,Arizona,Washingto n
البته برای رفع این مشکل هم راه هایی وجود داره: شما می تونید این اطلاعات رو به جای این که در ارزش Option های Select ذخیره کنید، در یک مقدار جاوا اسکریپتی یا یک Input از نوع Hidden ذخیره کنید.
این هم کد PHP & HTML
<?
if(isset($_POST['country'])){
echo "Country: ".$_POST['country']."<br>State: ".$_POST['state'];
exit;
}
?>
<html>
<head>
<script>
function SetStates(States) {
var stateBox = document.getElementById("state");
stateBox.options.length = 0;
if(States != "") {
var arrStates = States.split(",");
for(i = 0; i < arrStates.length; i++) {
if(arrStates[i] != "") {
stateBox.options[stateBox.options.length] = new Option(arrStates[i], arrStates[i]);
}
}
}
}
</script>
</head>
<body>
<form method="post" action="">
<pre>Country: <select onChange="SetStates(this.value)" id="country" name="country">
<option value=""></option>
<option value="New South Wales,Queensland,Victoria,South Australia,Tasmania,Western Australia,Northern Territory">Australia</option>
<option value="California,New York,Ohio,Colorado,Florida,Texas,Arizona,Washingto n">USA</option>
</select>
<br>State: <select id="state" name="state"></select>
</pre>
<input type="submit" value="Send">
</form>
</body>
</html>