ciao a tutti
ho un problema ad avere un div variabile nella quale stampare i risultati
mi spiego meglio con un esempio:
codice:
<input type="text" id="cerca" class="inputbox" onkeyup="invia_richiesta('dati.php','cerca')" />
invia_richiesta() passa il valore di CERCA alla pagina DATI.php e poi stampa tutto in un div con id="VISUALIZZA"
io vorrei che l'id visualizza fosse dinamico in modo da doverlo definire come parametro della funzione INVIA_RICHIESTA (in questo modo)
codice:
<input type="text" id="cerca" class="inputbox" onkeyup="invia_richiesta('dati.php','cerca','visualizza2')" />
vi posto anche il file ajax.js che uso per effettuare la richiesta asincrona:
codice:
// creiamo la funzione per riconoscere il browser
function gestione_browser() {
var valorizzati;
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer"){
valorizzati = new ActiveXObject("Microsoft.XMLHTTP");
}else{
valorizzati = new XMLHttpRequest();
}
return valorizzati;
}
// valorizziamo la funzione gestione_browser()
var http = gestione_browser();
// creiamo la funzione per inviare i dati con alla pagina in php
function invia_richiesta(php,field) {
// preleviamo con getelementbyid il valore cerca
var cerca = document.getElementById(field).value;
// apriamo una comunicazione con dati.php inviandogli il valore di cerca
http.open('get', php+'?param='+cerca);
// stampiamo la risposta
http.onreadystatechange = stampa_risposta;
// inviamo tutto
http.send(null);
}
// creiamo la funzione per stampare i dati
function stampa_risposta() {
// caricamento
if(http.readyState != 4) { document.getElementById('visualizza').innerHTML = "[img]images/loading.gif[/img]"; }
// se lo stato di http è 4 cioè "risposta ricevuta"
if(http.readyState == 4) {
// valorizziamo la risposta
var risposta = http.responseText;
// usiamo innerhtml per stampare la risposta sul div
document.getElementById('visualizza').innerHTML = risposta;
}
}
grazie a tutti in anticipo