IE не отображает выбранные опции, используя onChange Javascript, PHP - PullRequest
0 голосов
/ 12 июля 2011

Я использую JavaScript onChange, MySQL и PHP для отображения адреса филиала из списка городов, который заполняется из списка округов.

Отлично работает во всех браузерах, кроме IE (любая версия). В IE все, что я получаю, это пустая опция выбора.

Javascript

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
}
?>

1 Ответ

0 голосов
/ 17 февраля 2012

Я сделал это быстрым и грязным способом.
, используя onclick.
Вы можете даже сделать и то и другое, я делаю это в нескольких местах, чтобы заставить работать некоторые мобильные браузеры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...