IE不使用onChange Javascript、PHP呈现选择选项
我使用JavaScript onChange、MySQL和PHP来显示一个城镇列表中的分支地址,该城镇列表由一个县列表填充 它在除IE以外的所有浏览器中都能正常工作。在IE中,我得到的只是一个空白的选择选项 JavascriptIE不使用onChange Javascript、PHP呈现选择选项,javascript,php,mysql,dom-events,Javascript,Php,Mysql,Dom Events,我使用JavaScript onChange、MySQL和PHP来显示一个城镇列表中的分支地址,该城镇列表由一个县列表填充 它在除IE以外的所有浏览器中都能正常工作。在IE中,我得到的只是一个空白的选择选项 Javascript function getCounty(strURL) { if (strURL==="") { document.getElementById("branch").innerHTML=""
function getCounty(strURL) {
if (strURL==="") {
document.getElementById("branch").innerHTML="";
return;
}
if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else { // code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState===4 && xmlhttp.status===200) {
document.getElementById("branch").innerHTML=xmlhttp.responseText;
//alert(document.getElementById("branch").innerHTML=xmlhttp.responseText);
}
};
xmlhttp.open("GET",strURL,true);
xmlhttp.send(null);
}
function getBrach(strURL) {
if (strURL==="") {
document.getElementById("branch-addr").innerHTML="";
return;
}
if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else { // code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState===4 && xmlhttp.status===200) {
document.getElementById("branch-addr").innerHTML=xmlhttp.responseText;
}
};
xmlhttp.open("GET",strURL,true);
xmlhttp.send(null);
}
表格
<form method="post" id="addr-finder" action="">
<div class="county">
<label>Choose County</label>
<select name="county" id="county" onChange="getCounty('inc/findcity.php?c='+this.value)">
<option value="Select County">Select County</option>
<?php
while($row = $result->fetch_object()) {
echo '<option value="'.$row->address_5.'">'.$row->address_5.'</option>';
}
?>
</select>
</div>
<div class="branch">
<label>Choose Branch</label>
<select name="branch" id="branch" onChange="getBrach('inc/findbranch.php?t='+this.value)">
<option>--</option>
</select>
</div>
</form>
PHP
<?php
include("cfg.php");
include("functions.php");
$county = $_REQUEST['c'];
$result2 = get_town($county);
?>
<option>Select Town</option>
<?php
while($row2 = $result2->fetch_object()) {
?>
<option value="<?php echo $row2->address_4 ; ?>"><?php echo $row2->address_4; ?></option>
<?php
}
?>
我用了又快又脏的方法。 改为使用onclick。
你甚至可以同时做这两件事,我在一些地方做这件事,让一些移动浏览器工作。虽然这并不能直接回答你的问题,但是我建议你开始使用一个JavaScript框架来隐式处理浏览器问题。感谢@Shamim…如果我知道这意味着什么,那将非常有用…他的意思是查看一个像jQuery这样的库来处理你的事件处理和AJAX。快速阅读jquery网站应该可以解释这意味着什么,但它基本上减少了您必须编写的代码,并为您处理大多数跨浏览器问题。那么,没有人知道如何解决这个问题吗??