Обновление : Это работает в Firefox, но не работает в Chrome 6. Все еще изучаю.Я работаю над проблемой mootools, и метод .get ('text'), похоже, не работает должным образом для responseXML.
Вот ответXML:
<?xml version="1.0" encoding="UTF-8"?>
<users>
<user>
<username>etomai</username>
<first_name>Joe</first_name>
<last_name>Smith</last_name>
</user>
<user>
<username>hehhh</username>
<first_name>hee</first_name>
<last_name>lkii</last_name>
</user>
</users>
Воткод:
function update_list() {
var req = new Request({
url: 'users.php',
method: 'get',
data: {
'term': $('search').value
},
onComplete: function(responseText, responseXML){
$('list').empty();
responseXML.documentElement.getElements('user').each(function(user){
//this seems like it should work according to all mootools docs, but it doesn't. user.getElement('username').get('tag') works, but neither 'html' or 'text' work...retuturning undefineds.
console.log(user.getElement('username').get('text'));
var copy = $('template').clone();
$('list').grab(copy);
$(copy).removeClass('hidden');
$(copy).getChildren()[0].set("text", "username goes here")
$(copy).getChildren()[1].set("text", "name goes here")
})
}
}).send();
}
Как указано в комментарии, в строке console.log(...
я должен (в соответствии с документацией) иметь возможность получить текст, содержащийся в теге username, с помощью .get('text')
.Вместо этого возвращается неопределенное значение.
Проверка значения user.getElement('username')
возвращает ожидаемое
<username>etomai</username>
Рабочий код, расположенный здесь
Попробуйте ввестибуква «е» в поле поиска.
Я застрял на этом этапе.Кто-нибудь может указать мне правильное направление?