Problem mit js popup und ajaxinhalt

Andre_d

Mitglied
Hallo zusammen,

ich habe ein newsscript, wo ich über einen Link ein Div-Container anzeigen lasse. So weit so gut.
In diesem DivContainer möchte ich mittels des httpRequestobjects eine php datei anssprechen und den dortigen Text ausgeben lassen.

(RequestOjekt ist erstellt und auch eingebunden)

html-datei
Code:
..
<a href=':javascript:writecomment(1)'>Kommentar schreiben</a>
..
<div id='comment'></div>

css.datei
Code:
..
#comment{
position:absolute;
display:none;
background-color:#000000;
background-image: url(gfx/eye.jpg);
background-position:center;
background-repeat: no-repeat;
left:250px;
top:150px;
border:dashed #FF0000 2px;
height:350px;
width:550px;
}
..

javascriptdatei
Code:
function wncReq() {
       resObjekt.open('get', 'postnewscomment.php?date=' + new Date(),true);
       resObjekt.onreadystatechange = wncResponse;
       resObjekt.send(null);
}

function writecomment(mode){
	if(mode==1) {
		document.getElementById("comment").style.display = "inline";
		document.getElementById("comment").innerHTML = "<div align='right'><a href='javascript:writecomment()'>close </a></div><div id='commentu'></div>";
		document.getElementById("commentu").innerHTML = "<b><i>Kommentar schreiben</i></b>";
		wncReq();

function wncResponse(){
  if(resObjekt.readyState == 4) {
	document.getElementById("commentu").innerHTML = resObjekt.responseText;
  }
}

		}else{
		document.getElementById("comment").style.display = "none";	
		}
	}

Der Fehler der ausgegeben wird, sagt mir das wncResponse undefiniert sei.
Aber meines erachtens habe ich es doch definiert. Wo ist mein Denkfehler?

Erreichen möchte ich später, das man in diesem DivFenster Kommentare posten kann, welche vom php-script im hintergrund gespeichert werden.
 
Moin,

schreibe mal statt
Code:
function wncResponse()
jenes
Code:
wncResponse=function()
...und setzte die Funktionsdeklaration vor die Zuweisung für onreadystatechange.
 
Guten Morgen,

habe es mal so auf diese Weise versucht
Code:
function wncReq() {
       resObjekt.open('get', 'postnewscomment.php?date=' + new Date(),true);
       wncResponse = function(){
	   resObjekt.onreadystatechange;
	   }
       resObjekt.send(null);
}

Des weiteren habe ich noch folgendes Probiert

Code:
function wncReq() {
       resObjekt.open('get', 'postnewscomment.php?date=' + new Date(),true);
       wncResponse = function(){
	   resObjekt.onreadystatechange = wncResponse;
	   }
       resObjekt.send(null);
}

Was aber auch keine Fehlermeldung bzw. auch keine Wirkung zeigte..

Der javascript-Fehler ist somit weg, nur funktioniert es nicht. Es wird nicht der Inhalt der
postnewscomment.php wiedergegeben.. :confused:
 
Ich meinte es so herum: (Änderungen sind fett markiert)
Code:
function wncReq() 
{
  resObjekt.open('get', 'postnewscomment.php?date=' + new Date(),true);
  resObjekt.onreadystatechange = wncResponse;
  resObjekt.send(null);
}

function writecomment(mode)
{
	if(mode==1) 
	{
	  document.getElementById("comment").style.display = "inline";
		document.getElementById("comment").innerHTML = "<div align='right'><a href='javascript:writecomment()'>close </a></div><div id='commentu'></div>";
		document.getElementById("commentu").innerHTML = "<b><i>Kommentar schreiben</i></b>";
		wncResponse=function()
    {
      if(resObjekt.readyState == 4) 
      {
	      document.getElementById("commentu").innerHTML = resObjekt.responseText;
      }
    }
		wncReq();
	}
	else
	{
	  document.getElementById("comment").style.display = "none";	
	}
}
 
Ah natürlich es funktioniert und einleuchten tut es mir auch warum es nun funktioniert! :)
hab vielen Dank für die Hilfe!

viele Grüße
 

Neue Beiträge

Zurück