Carissimi,
credo si tratti di un problema molto banale. In un form ho due tabelle nazione e provincia. Selezionando la nazione, in modo asincrono si popolano i valori della tabella provincie con quelle compatibili con la nazione selezionata.
Alla selezione di una nazione si scatena la funzione javascript
codice:
function ajaxTest1(nazione) {
myRequest = CreateXmlHttpReq(ajaxTest2);
myRequest.open("GET","ServletProvincieSelect?jKey=" + jk + "&_="+-new Date, true);
myRequest.send(null);
}
che chiama in causa la funzione javascript
codice:
function ajaxTest2() {
var jRef = "provincia";
var myTable = document.getElementById(jRef + "-table");
document.getElementById(jRef + "-box").value = '';
document.getElementById(jRef).value = '';
for (ti = 0; ti < myTable.rows.length; ti++){
myTable.deleteRow(ti);
}
if (myRequest.readyState == 4 && myRequest.status == 200) {
var dom_txt = myRequest.responseText;
var dom_rows = dom_txt.split("|");
for (var ri = 0; ri < dom_rows.length - 1; ri ++){
var myTr = document.createElement("tr");
var dom_cols = dom_rows[ri].split("_");
for (var ci = 0; ci < dom_cols.length; ci++){
var myTx = document.createTextNode(dom_cols[ci]);
var myTd = document.createElement("td");
if (ci < 3){
myTd.className="styItemHidden";
}
myTd.appendChild(myTx);
myTr.appendChild(myTd);
}
myTable.appendChild(myTr);
}
}
}
Sorvolando sul meccanismo di splittaggio, popolamento e di creazione tabella, che almeno su FF funziona, vi segnalo un'anomalia: la console degli errori di Firefox segnala, all'atto della selezione della nazione, un errore (errore errore, non warning). Ovvero, mi dice:
segue la lista del testo restituito da Ajax, con la serie di tutte le provincie, e con una freccia sul primo carattere. Quasi come se la console degli errori si attendesse qualche istruzione trovando invece del testo generico. La situazione non cambia racchiudendo il testo tra virgolette. Sono sicuro che si tratta di una banalità, focalizzata nel punto in cui il software "interpreta" il testo restituito da Ajax senza "capire" che è appunto testo e non codice e che quindi non deve "offendersi" se non lo riconosce come tale indicando un errore di sintassi. Inoltre, mentre su FF l'unico effetto è quello di "far offendere" la console degli errori, su IE8 tali funzioni proprio non vanno.
Come risolvere? Grazie a tutti.