Problema di caricamento Ajax su IE

z.cristiano

Utente Attivo
16 Giu 2007
145
0
16
Salve a tutti..
Sto creando meravigliosamente il codice AJAX, però c'è un problema e non capisco perchè..

Sul LOCALE, il codice Ajax sui browser Firefox, Safari, Chrome funzionano alla grande, trane IE no, cioè funziona solo la lettura, mentre CANCELLA, MODIFICA, INSERISCI non funzionano, cioè sul DB mysql risulta funzionante le query solo che non si vede niente su IE, perchè?
DI seguito ti scrivo il codice ajax con le due IF ai vari tipi di browser

// code for IE7+, Firefox, Chrome, Opera, Safari
if(window.XMLHttpRequest)
{

xmlhttpAdmin = new XMLHttpRequest();

} else {

// code for IE6, IE5
xmlhttpAdmin = new ActiveXObject("Microsoft.XMLHTTP");

}

Cosa ho sbagliato?
 
Lo so, siccome è una cosa nuova e sto imparando perciò preferirei non prendere alcuni plug-ins e inoltre, sul libro dice che fare così è semplice e posso creare applicazioni più complesse..

La cosa che è strano è che sui browser FIREFOX, SAFARI, CHROME funzionano alla grande mentre IE da 5 a 9 no perchè?
non c'è una soluzione?

Altrimenti com'è il codice javascript o ajax per la compatibilità di tutti i browser?
 
Va bene grazie però aspetta che ti spiego meglio il problema...

Allora, quel codice permette di far vedere la lista di 4 utenti e cosa succede, quando creo un nuovo utente, registro e tornando a quella pagina di lista, la lista rimane 4 utenti e non 5 utenti (compreso utente appena creato) questo è un problema, ho anche provato a cliccare F5 o refresh, niente rimane sempre 4 utenti

Secondo voi, dove mettere o correggere il javascript/ajax o PHP?
 
Cosa ti mando i sorgenti?

javascript o PHP o entrambi?

ricordati che questo problema non funziona solo su IE, gli altri alla grande
:-)
 
Ok, allora

HTML

HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Esercizio5</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
 
<body>
<div id="visualizza"</div>
</body>
</html>

JAVASCRIPT/AJAX

Codice:
function elenco()
{

var cerca_titolo = document.getElementById("cerca_titolo");

document.form1.cerca_titolo.focus();

// code for IE7+, Firefox, Chrome, Opera, Safari
if(window.XMLHttpRequest)
{

xmlhttpAdmin = new XMLHttpRequest(); 

} else {

// code for IE6, IE5
xmlhttpAdmin = new ActiveXObject("Microsoft.XMLHTTP");

}

xmlhttpAdmin.onreadystatechange = function()
{

if(xmlhttpAdmin.readyState == 1)
{
	
	document.getElementById("visualizza").innerHTML = "<div style='text-align:center; padding:10px'><img src='images/loading2.gif'></div>";

} else if(xmlhttpAdmin.readyState == 4 && xmlhttpAdmin.status == 200)
{

	document.getElementById("visualizza").innerHTML = xmlhttpAdmin.responseText;

}

}

xmlhttpAdmin.open("GET", "file.php?cerca_titolo="+ cerca_titolo.value, true);

xmlhttpAdmin.send();

}



window.onload = function ()
{

menu_lista();

elenco();

}

PAGINA PHP

PHP:
if($_GET['cerca_titolo'])
{
	
	$query = "SELECT * FROM prova WHERE titolo LIKE '%". $_GET['cerca_titolo'] ."%' ORDER BY titolo ASC";
	
} else {
	
	$query = "SELECT * FROM prova ORDER BY titolo DESC";
	
}

$select = mysql_query($query, $connessione);

echo"<table width=\"100%\" border=\"0\" align=\"center\" cellpadding=\"8\" cellspacing=\"0\">
<tr>
                          <td>&nbsp;</td>
           </tr>";

$color_id = 0;
						
while($result = mysql_fetch_assoc($select))
{
	
echo"<tr>
	<td>". $result['titolo'] ."</td>
</tr>";

}

echo"</table>";



?>

Ecco fatto
 
Ultima modifica di un moderatore:
Hai ragione, mi sono dimenticato di copiare il FORM, ecco HTML corretto

HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Esercizio5</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
 
<body>
<form method="post" enctype="multipart/form-data">
<div><b><i>Cerca</i></b><input type="text" name="cerca_titolo" id="cerca_titolo" onkeydown="elenco();" onkeyup="elenco();"></div>

<div id="visualizza"></div>
</form>
</body>
</html>

Scusa ancora :-)
 
Ultima modifica di un moderatore:

Discussioni simili