Как вставить значение в текстовое поле с помощью Ajax из выпадающего меню? Результат должен быть в форме Texbox Как? - PullRequest
1 голос
/ 20 июня 2010
<script type="text/javascript">
    function showUser(str) {
        if (str == "") {
            document.getElementById("txtHint").innerHTML = "";
            return;
        }
        // code for IE7+, Firefox, Chrome, Opera, Safari
        if (window.XMLHttpRequest) {
            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("txtHint").innerHTML = xmlhttp.responseText;
                //document.myForm.text1.value=.innerHTML=xmlhttp.responseText;
            }
        }
        xmlhttp.open("GET", "getuser.php?q=" + str, true);
        xmlhttp.send();
    }
</script>

</head>

<body>
<form name="myForm">
    <p>Selec the Menu :
        <select name="users" onchange="showUser(this.value)">
            <option value="">Select ID</option>
<?php do { ?>
            <option value="<?php echo $row_rscustomer['customer_number']?>"><?php echo $row_rscustomer['customer_number']?></option>
<?php } while ($row_rscustomer = mysql_fetch_assoc($rscustomer));
    $rows = mysql_num_rows($rscustomer);
        if ($rows > 0) {
            mysql_data_seek($rscustomer, 0);
            $row_rscustomer = mysql_fetch_assoc($rscustomer);
        } ?>
        </select>
    </p>
    <p>&nbsp;</p>
    <p>
        <input name="text1" type="text"
               value="<?php include (" getuser.php");?>"/>
    <p>
</form>
<div id="txtHint"></div>

1 Ответ

2 голосов
/ 17 марта 2011

Эй, я заметил, что внутри функции AJAX onreadystatechange вы добавили xmlhttp.status == 200 в ваше условие.В некоторых браузерах, поскольку AJAX является языком на стороне клиента, это не поддерживается.Если элемент status не поддерживается браузером пользователя, тогда его значение по умолчанию будет undefined или 0, в любом случае значение никогда не будет равно 200, таким образом, блок внутри этогоусловное не будет выполнено.

Я предлагаю удалить условие xmlhttp.status == 200 и просто полагаться на xmlhttp.readyState .У меня была эта проблема, когда я впервые начал работать с AJAX.

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