Salve,ho difficolta' a far funzionare questa semplice ricerca in file XML. Con I.E. funziona correttamente, mentre con FireFox, nella consolle di errori, viene notificato il messaggio "Errore: allitems.childNodes is not a function
File sorgente: file:///C:/Users/malanchin/Desktop/prova/searchindex.js
Riga: 33".
Il codice js e' il seguente:
window.onload = loadIndex;
function loadIndex() { // load indexfile
// most current browsers support document.implementation
if (document.implementation && document.implementation.createDocument) {
xmlDoc = document.implementation.createDocument("", "", null);
xmlDoc.load("index.xml");
}
// MSIE uses ActiveX
else if (window.ActiveXObject) {
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = "false";
xmlDoc.load("index.xml");
}
}
function searchIndex() { // search the index (duh!)
if (!xmlDoc) {
loadIndex();
}
// get the search term from a form field with id 'searchme'
var searchterm = document.getElementById("searchme").value.toUpperCase();
var allitems = xmlDoc.getElementsByTagName("item");
results = new Array;
if (searchterm.length < 3) {
alert("Enter at least three characters");
} else {
for (var i=0;i<allitems.length;i++) {
// see if the XML entry matches the search term,
// and (if so) store it in an array
var titolo = allitems[i].childNodes(0).text.toUpperCase();
var descrizione = allitems[i].childNodes(1).text;
var url = allitems[i].childNodes(2).text;
if (titolo.indexOf(searchterm) >= 0) {
//Risultato.innerHTML = allitems[i].lastChild.nodeValue;
Risultato.innerHTML = descrizione;
}
}
}
}
Il file XML e':
<?xml version="1.0" encoding="utf-8"?>
<searchable_index>
<item>
<titolo>Homepage</titolo>
<descrizione>Homepage</descrizione>
<url>Homepage.htm</url>
</item>
<item>
<titolo>Chi siamo</titolo>
<descrizione>Chi siamo</descrizione>
<url>ChiSiamo.htm</url>
</item>
</searchable_index>
Grazie per il supporto