farnaz.saeedi
پنج شنبه 10 آذر 1390, 20:39 عصر
با سلام
من تو یه قسمت از برنامه ام میخوام وقتی اسم یه استان از تو فرم انتخاب شد تو فرم پایینی شهرستان های
اون استان و با آجاکس نشون بدم
مشکل اینجاس که این کد رو همه مرورگرها بخوبی اجرا میشه جز ie
این کدهای html:
<tr>
<td width="100">استان:</td>
<td><select name="ostan" id="ostan" onchange="GetCity()">
<option></option>
<option value="azarbayjan sharghi" style="font-family:'B Mitra'; font-size:15px">آذربایجان شرقی</option>
<option value="azarbayjan gharbi" style="font-family:'B Mitra'; font-size:15px">آذربایجان غربی</option>
<option value="ardebil" style="font-family:'B Mitra'; font-size:15px">اردبیل</option>
.
.
.
</td>
</tr>
<tr>
<td width="100">شهرستان:</td>
<td><select name="city" id="city">
<option></option>
</select></td>
</tr>
این تابع آجاکس:
var xmlCity;
function createXMLHttpCity()
{
if (window.ActiveXObject)
{
xmlCity = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest)
{
xmlCity = new XMLHttpRequest();
}
if (xmlCity==null)
{
alert ("Browser does not support HTTP Request");
return;
}
}
function GetCity()
{
createXMLHttpCity();
var name=document.getElementById('ostan').value;
var a='getcity';
xmlCity.open("get", "function.php?run="+a+"&ostan="+name, true);
xmlCity.onreadystatechange = handleCity;
xmlCity.send(null);
}
function handleCity()
{
if (xmlCity.readyState == 4)
{
if (xmlCity.status == 200)
{
displayCity(xmlCity.responseText);
}
}
}
function displayCity(sText)
{
var divCity =document.getElementById("city");
divCity.innerHTML = sText;
}
اینم کدهای php:
header("Content-Type: text/plain");
$run=$_GET['run'];
if($run=='getcity')
city();
function city()
{
require_once("config.php");
$ostan=$_GET['ostan'];
$sql="select ostan from city where ostan='$ostan'";
$query=mysql_query($sql);
$num=mysql_num_rows($query);
$city[]=array();
for ($i=0; $i<$num; $i++)
{
$sql="select city from city where ostan='$ostan'";
$query=mysql_query($sql);
$city[$i]=mysql_result($query,$i,0);
}
for ($i=0; $i<$num; $i++)
{
?>
<option value="<?php echo $city[$i];?>" style="font-family:'B Mitra'; font-size:15px"><?php echo $city[$i];?></option>
<?php
}
}
برای اینکه رو اینترنت اکسپلورر هم اجرا بشه چکار باید بکنم؟
با تشکر
من تو یه قسمت از برنامه ام میخوام وقتی اسم یه استان از تو فرم انتخاب شد تو فرم پایینی شهرستان های
اون استان و با آجاکس نشون بدم
مشکل اینجاس که این کد رو همه مرورگرها بخوبی اجرا میشه جز ie
این کدهای html:
<tr>
<td width="100">استان:</td>
<td><select name="ostan" id="ostan" onchange="GetCity()">
<option></option>
<option value="azarbayjan sharghi" style="font-family:'B Mitra'; font-size:15px">آذربایجان شرقی</option>
<option value="azarbayjan gharbi" style="font-family:'B Mitra'; font-size:15px">آذربایجان غربی</option>
<option value="ardebil" style="font-family:'B Mitra'; font-size:15px">اردبیل</option>
.
.
.
</td>
</tr>
<tr>
<td width="100">شهرستان:</td>
<td><select name="city" id="city">
<option></option>
</select></td>
</tr>
این تابع آجاکس:
var xmlCity;
function createXMLHttpCity()
{
if (window.ActiveXObject)
{
xmlCity = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest)
{
xmlCity = new XMLHttpRequest();
}
if (xmlCity==null)
{
alert ("Browser does not support HTTP Request");
return;
}
}
function GetCity()
{
createXMLHttpCity();
var name=document.getElementById('ostan').value;
var a='getcity';
xmlCity.open("get", "function.php?run="+a+"&ostan="+name, true);
xmlCity.onreadystatechange = handleCity;
xmlCity.send(null);
}
function handleCity()
{
if (xmlCity.readyState == 4)
{
if (xmlCity.status == 200)
{
displayCity(xmlCity.responseText);
}
}
}
function displayCity(sText)
{
var divCity =document.getElementById("city");
divCity.innerHTML = sText;
}
اینم کدهای php:
header("Content-Type: text/plain");
$run=$_GET['run'];
if($run=='getcity')
city();
function city()
{
require_once("config.php");
$ostan=$_GET['ostan'];
$sql="select ostan from city where ostan='$ostan'";
$query=mysql_query($sql);
$num=mysql_num_rows($query);
$city[]=array();
for ($i=0; $i<$num; $i++)
{
$sql="select city from city where ostan='$ostan'";
$query=mysql_query($sql);
$city[$i]=mysql_result($query,$i,0);
}
for ($i=0; $i<$num; $i++)
{
?>
<option value="<?php echo $city[$i];?>" style="font-family:'B Mitra'; font-size:15px"><?php echo $city[$i];?></option>
<?php
}
}
برای اینکه رو اینترنت اکسپلورر هم اجرا بشه چکار باید بکنم؟
با تشکر