Salve, come mio solito sono incappato in un problema...
Stavolta riguarda Firefox e la sua interpretazione dei file XML. Vi posto il codice su cui sto lavorando.
HTML:
JavaScript:codice:<h2>Login</h2><form name = 'loginForm'>Nome: <input type = 'text' id = 'nome'> Password: <input type = 'text' id = 'pass'> <input type = 'button' value = 'Login' onClick = 'loggati(window.document.getElementById("pass").value);'>
XML:codice:function loggati(path){ var request = null; var xml_response = null; if (window.XMLHttpRequest) { request = new XMLHttpRequest(); } else if (window.ActiveXObject) { request = new ActiveXObject("Microsoft.XMLHTTP"); } if (request) { request.open("GET", "info_utente.xml"); request.onreadystatechange = function(){ if (request.readyState == 4) { xml_response = request.responseXML; processaLogin(xml_response, path); } } request.send(null); } } function processaLogin(documento_xml, path) { passwords = documento_xml.getElementsByTagName('password').firstChild.nodeValue; if (passwords[0] == path) { document.getElementById('areaLogin').innerHTML = "Login Riuscito"; } else { document.getElementById('areaLogin').innerHTML = "Login non riuscito"; } }
Teoricamente dovrei simulare un login. Il pulsante Login invia il contenuto del campo di testo con id "pass" alla funzione "loggati(path)" che a sua volta invia una richiesta al server tentando di leggere il contenuto di 'info_utente.xml'. Poi la funzione chiama processaLogin con il parametro path ed il parametro xml_response. processaLogin dovrebbe trovare il nodo del documento chiamato password e verificare se è uguale a path (il contenuto del campo con id 'pass'). Il problema è che ogni volta che provo ad eseguire lo script la console degli Orrori di FF mi restituisce lo stesso errore "documento_xml.getElementsByTagName("password").fi rstChild is undefined". Vi ringrazierei molto se mi spiegaste anche come utilizzare al meglio responseXML.codice:<?xml version="1.0" encoding="utf-8"?><utenti><utente><nome>Mr.Ciak</nome><password>password1</password></utente></utenti>
Grazie![]()

Rispondi quotando