Io ho un problema simile. Ho questa funzione pars:
codice:
function pars(xmlDoc)
{
var nodoItem = new Array();
x = xmlDoc.getElementsByTagName('articolo');
risultato = "
<center><h1>Numero di articoli presenti "+x.length+": </h1></center>
<ul>";
risultato += "<ul>";
for(i=0;i<x.length;i++)
{
risultato += "[*]";
risultato += "<input type=\"button\" name=\"B"+i+"\" value=\"";
risultato += leggiContenuto(x[i], "titolo");
risultato += "\" onclick='javascript: visualizza(' " + leggiContenuto(x[i], "link") + " ');}'> -> ";
risultato += leggiContenuto(x[i], "descrizione") + "
";
}
// chiusura della lista
risultato += "[/list]";
return risultato;
}
richiamata da questa funzione visualizza:
codice:
// dato un identificatovo visualizza dentro al DIV corrispondente il File
function visualizza(File)
{
alert("sono dentro a visualizza")
elemento = document.getElementById("main");
var request = XMLHttp();
if(request)
{
request.onreadystatechange = function()
{
if(request.readyState === 4)
{
if(request.status == 200 || request.status == 0)
{
//Qui dovrebbe esserci un controllo del parser da usare, se per
//la home o per i sottofile
elemento.innerHTML = pars(request.responseXML);
}
else
{
alert("Operazione fallita, errore numero " + request.status);
// errore di caricamento
elemento.innerHTML = "Impossibile effettuare l'operazione richiesta.
";
elemento.innerHTML += "Errore riscontrato numero: " + request.status;
}
}
}
request.open("GET", File, true);
// invio richiesta
request.send(null);
}
}
Le quali pratichiamente chiamata la prima dalla pagina principale mi visualizza nel <div id="main"> un elenco di pulsanti seguiti da una descrizione prendendo questi dati da un file XML che fa da indice.
Ora però vorrei che premendo uno dei pulsanti venga visualizzato sempre in nel <div id="main"> il file XML cui punta il pulsante.
in pratica dentro al div main la prima volta vado a scrivere:
codice:
onclick='javascript: visualizza( ' " + leggiContenuto(x[i], "link") + " ' )'
però neanche mettendo
codice:
onclick='javascript: visualizza( \' " + leggiContenuto(x[i], "link") + " \' )'
oppure
codice:
onclick='javascript: visualizza( \" " + leggiContenuto(x[i], "link") + " \" )'
oppure
codice:
onclick='javascript: visualizza( ' " + leggiContenuto(x[i], "link") + " ')'
la funzione non parte (lo capisco perchè non visualizza alert("sono dentro a visualizza") )
cosa sbaglio?