Newsgroup: it.comp.www.php
Titolo: Javascript, Ajax e php...ma non IE!!!!!!!!!

ciao ragazzi ho un problemone..
ho una pagina in php stutturata più o meno così
codice:
<tabelle html>
<script>
[...]
funzioni javascript/ajax
[...]
</script>
<tabelle html>
<div id="Dati"></div>
<tabelle html>
ora praticamente in php mi stampo la videata generale, poi all'interno
del div Dati tramite ajax mi stampo quello che mi serve a seconda delle
scelta dell'utente...e fin qui tutto ok.
con delle immagini (evento onclick) che vengono caricati all'interno
del div lavoro su un cookie, cioè seleziono delle righe da un elenco..
esempio:
1.nel div ci stampo un elenco di persone
2.l'utente clicca sulla riga, cambio il bgcolor della riga e mi
aggiungo un codice al cookie
3.l'utente clicca su un bottone per eliminare le righe selezionate
4.mi parte una funzione ajax che tramite una pagina php elimina dal db
le righe corrispondenti, poi mi ricarica l'elenco delle righe e me lo
ristampa nel div
con firefoz funziona alla perfezione, ma con IE non funziona!!
eppure se dopo aver selezionato una riga controllo il cookie di IE è
stato modificato correttamente!
dove sbaglio?!?
edit: anche con Opera funziona!!

 dove sbaglio?!?
Senza vedere il codice e i messaggi di errore e` praticamente impossibile
risponderti.
Molto probabilmente stai usando una funzione javascript non supportata da
IE. In questo caso, sei OT. ;)
Bye.

Alessandro Pellizzari ha scritto:

ok vi posto il codice
per i cookie:
function getCookie( name ) {
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;
	if ( ( !start ) && ( name != document.cookie.substring( 0, name.length
) ) ) {
		return null;
	}
	if ( start == -1 ) return null;
	var end = document.cookie.indexOf( ";", len );
	if ( end == -1 ) end = document.cookie.length;
	return unescape( document.cookie.substring( len, end ) );
}
function setCookie( name, value, expires, path, domain, secure ) {
	var today = new Date();
	today.setTime( today.getTime() );
	if ( expires ) {
		expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date( today.getTime() + (expires) );
	document.cookie = name+"="+escape( value ) +
		( ( expires ) ? ";expires="+expires_date.toGMTString() : "" ) +
//expires.toGMTString()
		( ( path ) ? ";path=" + path : "" ) +
		( ( domain ) ? ";domain=" + domain : "" ) +
		( ( secure ) ? ";secure" : "" );
}
function deleteCookie( name, path, domain ) {
	if ( getCookie( name ) ) document.cookie = name + "=" +
			( ( path ) ? ";path=" + path : "") +
			( ( domain ) ? ";domain=" + domain : "" ) +
			";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}
per l'ajax:
function CreateXmlHttpReq(handler) {
	var agt = navigator.userAgent.toLowerCase();
	var is_ie5 = (agt.indexOf('msie 5') != -1);
	var xmlhttp = null;
		try {
		xmlhttp = new XMLHttpRequest();
		try {
				// Fix for some version of Mozilla browser.
				http_request.overrideMimeType('text/xml');
		} catch(e) { }
		xmlhttp.onload = handler;
		xmlhttp.onerror = handler;
	} catch(e) {
		var control = (is_ie5) ? "Microsoft.XMLHTTP" : "Msxml2.XMLHTTP";
		xmlhttp = new ActiveXObject(control);
		xmlhttp.onreadystatechange = handler;
	}
	return xmlhttp;
}
function myHandler(div) {
	if (myRequest.readyState == 4 && myRequest.status == 200) {
		e = document.getElementById(div);
		e.innerHTML = myRequest.responseText;
	}else{
		e = document.getElementById(div);
		e.innerHTML = 'Caricamento Dati...';
	}
}
la funzione che mi richiama la pagina 'esterna' in php:
function DoAll(x, div) {
	var r = Math.random();
	var Num = document.getElementById('NumSrc').value;
	myRequest = CreateXmlHttpReq(function() {myHandler(div)});
	myRequest.open("GET","pagina.php?toDo="+escape(x)+"&r="+escape(r));
	myRequest.send(null);
	setCookie( 'NomeCookie', '.', 3);
}
pagina php:
if($cosa=="MarkNorm"){
	$cookie=$_COOKIE["NomeCookie"];
//elaborazione dati
	echo $stampa;
}