 |
Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Comunitatea PHP Romania
|
| Subiectul anterior :: Subiectul următor |
| Autor |
Mesaj |
UnTip
Data înscrierii: 03/Mai/2007
Mesaje: 377
|
| Trimis: Lun Dec 10, 2007 2:59 pm Titlul subiectului: readyState |
|
|
am o problema..
nu prea ma prind...
am pe onclick o functie...raspundeMesaj
var xmlHttp = creazaXmlHttprasp();
var iddiv;
var idraspuns;
function creazaXmlHttprasp()
{
var xmlHttp;
// pentru IE
if(window.ActiveXObject)
{
try
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
xmlHttp = false;
}
}
else
{
try
{
xmlHttp = new XMLHttpRequest();
}
catch (e)
{
xmlHttp = false;
}
}
if (!xmlHttp)
alert("Nu s a putut crea obiectul XMLHttpRequest .");
else
return xmlHttp;
}
function raspundeMesaj(idraspuns,iddiv)
{
if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
{
try{
var raspuns = document.getElementById(idraspuns).value;
var test="workworkwork...";
}catch(e){
alert(e.message);
return;
}
xmlHttp.open("GET", "phpservices/a_raspundemail.php?test=" + test + "&raspuns=" + raspuns , true);
xmlHttp.onreadystatechange = gestioneazaRezultatrasp(iddiv);
xmlHttp.send(null);
}
}
function gestioneazaRezultatrasp(iddiv)
{
if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
{
if (xmlHttp.status == 200)
{
raspuns = xmlHttp.responseText;
try{
document.getElementById(iddiv).innerHTML = raspuns;
}catch(e){
alert(e.message);
return;
}
}
else
{
alert("Problema la accesare: " + xmlHttp.statusText);
}
}
if(xmlHttp.readyState<4 && xmlHttp.readyState!=0 ){
document.getElementById(iddiv).innerHTML = '<img src="../images/ajax/loading.gif" />';
//~ alert(xmlHttp.readyState);
}
}
faza e ca imi ramane in status 1.... nu ma prind ... any ideeas? |
|
| Sus |
|
UnTip
Data înscrierii: 03/Mai/2007
Mesaje: 377
|
| Trimis: Lun Dec 10, 2007 4:49 pm Titlul subiectului: |
|
|
am gasit o greseala insa asta nu-mi rezolva problema .. tot readystate 1 ramane... habar n-am din ce cauza se intampla asta n-are chiar nimeni idei ?
reseala era ca facema o variabila raspuns document.getElementById(idelement).value si mai jos in functia care-mi gestiona rezultatul faceam tot raspuns = xmlHTTP.responseTxt sau cv de genul insa asta nu-mi rezolva pb... |
|
| Sus |
|
UnTip
Data înscrierii: 03/Mai/2007
Mesaje: 377
|
| Trimis: Mar Dec 11, 2007 1:55 am Titlul subiectului: |
|
|
e aproape doua si innebunesc, mi-a zis un coleg c-ar putea fi de la o conexiune neinchisa la baza de date... ... buulshit
hai.. astept un wiseguy sa-mi bage lanterna-n ochi |
|
| Sus |
|
dechim
Data înscrierii: 10/Mai/2005
Mesaje: 656
Locație: Drobeta Turnu Severin
|
| Trimis: Mar Dec 11, 2007 2:02 am Titlul subiectului: |
|
|
Cod:
function raspundeMesaj(idraspuns,iddiv)
{
if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
{
try
{
var raspuns = document.getElementById(idraspuns).value;
var test="workworkwork...";
}
catch(e)
{
alert(e.message);
return;
}
xmlHttp.open("GET", "phpservices/a_raspundemail.php?test=" + test + "&raspuns=" + raspuns , true);
xmlHttp.onreadystatechange = gestioneazaRezultatrasp(iddiv);
xmlHttp.send(null);
}
}
Nu inteleg functia asta. De unde xmlHttp.readyState == 4 cand abia mai jos initializezi cererea (chiar in corpul if-ului), de la alta cerere anterioara? AJAX in AJAX ?! |
|
| Sus |
|
UnTip
Data înscrierii: 03/Mai/2007
Mesaje: 377
|
| Trimis: Mar Dec 11, 2007 8:51 am Titlul subiectului: |
|
|
de fapt e ceva de felul urmator...
o functie care-mi aduce intr-un iframe niste rezultate... dinamic... adica.. imi aduce rezultatul iframe prin ajax, ce e in iframe e o paginare a mai multori rezultate aduse dintr-o baza de date mysql, rezultate... care sunt puse in niste textareas, fiecare testareas avand un id, sub fiecare testarea care nu e disabled existand un div in care este aruncat rezultatul
LE : explicatia cu functia ar fi in felul urmator,
interactioneaza cu obiectul doar cand acesta e in readyState 4 sau 0... insa
miracol AM REZOLVAAAAAAAAAAAAAAAAAAAAAAAAAATTTTTTTTTT!!!!!!!! dupa 10 ore de infern
...................................................................................
xmlHttprasp.onreadystatechange = xxx;
// trimitem cererea catre server
xmlHttprasp.send(null);
}
//~ function
function xxx () {
// daca rezultatul este obtinut
gestioneazaRezultatrasp(iddiv);
}
.........................................................................................
gestioneazaRezultatrasp, nu putea lua ca parametru o variabila deoarece sintaxa ar fi fosti incorecta... avea ca parametru un eveniment... de accea a trebuit sa fac functia intermediara XXX, ceea ce nu e chiar corect nici asta insa imi functioneaza..... merci oricum |
|
| Sus |
|
PHPRomania Bot
Bot Member
Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google |
| Trimis: Mie Dec 26, 2007 7:01 pm Titlul subiectului: Ad |
|
|
|
|
|
| Sus |
|
| |
|