#javascript #html #ajax #dom #innerhtml
#javascript #HTML #ajax #dom #innerhtml
Вопрос:
Я просто пытаюсь создать прототип простой функциональности, используя javascript для целей обучения, но содержимое <p>
тега не обновляется, и я застрял на этом этапе. Мой код выглядит следующим образом:
<!DOCTYPE html>
<html>
<head>
<title> Ajax Search Box </title>
<script>
function LoadList()
{
var searchBox = document.getElementById("txtSearch");
var resultBox = document.getElementById("results");
var searchedChars = "";
var xHttp = new XMLHttpRequest();
searchedChars = searchBox.value;
xHttp.onreadystatechange = function(){
if(this.readyState == 4 amp;amp; this.status == 200)
{
var xmlContent = this.responseXML;
var nameList = xmlContent.getElementsByTagName("name");
var dispText = "";
for(var i = 0 ; i < nameList.length ; i )
{
dispText = nameList[i].textContent "<br/>";
}
resultBox.innerHtml = dispText;
}
};
xHttp.open("GET","AssessorList.xml",true);
xHttp.send();
}
</script>
</head>
<body>
<input id="txtSearch" type="text" placeholder="Search" onkeyup="LoadList();" />
<p id="results">
No Data Available.
</p>
</body>
</html>
Может кто-нибудь сказать мне, почему innerHTML не обновляется? Заранее спасибо.
PS: Код извлекает данные из XML-файла, как я мог видеть в консоли браузера, значения передаются в dispText
переменную.
Комментарии:
1. innerHTML не innerHTML
2. Замените resultBox.innerHTML = dispText; на resultbox.innerHTML = dispText;
3. @Azola / Pradyut Manna почему бы не добавить их в качестве ответов?
4. Большое спасибо @Azola / Pradyut Manna за быстрые ответы. Теперь код работает с предложенными изменениями.
5. @RickViscomi ответ состоит из менее чем 30 символов 🙂
Ответ №1:
<!DOCTYPE html>
<html>
<body>
<input id="txtSearch" type="text" placeholder="Search" onkeyup="LoadList();" />
<p id="results">No data available</p>
<script>
function LoadList() {
var xhttp = new
XMLHttpRequest();
var searchBox =
document.getElementById("txtSearch");
var resultBox = document.getElementById("results");
var searchedChars = "";
searchedChars = searchBox.value;
xhttp.onreadystatechange = function() {
//alert(this.status);
if (this.readyState == 4 amp;amp; this.status == 200) {
var xmlContent = this.responseXML;
var nameList = searchedChars;
alert(nameList);
var dispText = "";
for(var i = 0 ; i < nameList.length ; i )
{
dispText = nameList[i] "<br/>";
}
resultBox.innerHTML = dispText;
}
};
xhttp.open("GET", "ajax.txt", true);
xhttp.send();
} </script>
</body>
</html>
Надеюсь, это может вам помочь