IEでこのajaxスクリプトに問題があります。機能しないため、FFとChromeでは完全に動作しますが、IEでは動作しません。 2つのドロップダウンボックスがあり、最初のドロップダウンボックスで選択したものに応じて、選択した都市の値が表示されます。ajaxスクリプトがIEで動作しません
<select class="selectDest" name="Prej" onChange="getState(this.value)">
<option></option>
'.funksionet::all_directions().'
</select>
これは2番目のドロップダウンボックスです:
<div id="statediv"><select class="selectDest" name="deri">
<option></option>
</select></div>
これは、Ajax機能である:
<script language="javascript" type="text/javascript">
function getXMLHTTP() { //function to return the xml http object
var xmlhttp=false;
try{
xmlhttp=new XMLHttpRequest();
}
catch(e) {
try{
xmlhttp= new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e){
try{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e1){
xmlhttp=false;
}
}
}
return xmlhttp;
}
function getState(countryId) {
var strURL="findState.php?country="+countryId;
var req = getXMLHTTP();
if (req) {
req.onreadystatechange = function() {
if (req.readyState == 4) {
// only if "OK"
if (req.status == 200) {
document.getElementById(\'statediv\').innerHTML=req.responseText;
} else {
alert("There was a problem while using XMLHTTP:\n" + req.statusText);
}
}
}
req.open("GET", strURL, true);
req.send(null);
}
}
</script>
これはfindstate.phpファイルです:
<?php
require_once 'includes/constants.php';
$country = $_GET['country'];
$link = mysql_connect(DB_SERVER, DB_USER, DB_PASSWORD); //changet the configuration in required
if (!$link) {
die('Could not connect: ' . mysql_error("1"));
}
mysql_select_db(DB_NAME);
$query="SELECT * FROM costs WHERE prej = '$country';";
$result=mysql_query($query) or die("2");
?>
<select class="selectDest" name="Deri">
<option></option>
<?php while($row = mysql_fetch_array($result)) {
print'<option>'.$row['deri'].'</option>';
}
?>
</select>
I本当にこの仕事をする必要がある、私は大いにaもし誰かが私を助けようとしているならば、これを賞賛してください。私はJavaScriptでうまくいかないので!しかし、私はこのクロスブラウザを行うことができない方法がない場合、私は知りたいと思いますし、私はそれをこのようにするつもりはありません。
[jQuery](http://api.jquery.com/jQuery.ajax/)を使用するとブラウザ間の問題が解決されます。 –
これについてもっとお手伝いしますか? – TooCooL