Archivlink: javarea.de Forum > JavaScript > callback function und sleep
Vollständigen Link anzeigen: javarea.de Forum > JavaScript > callback function und sleep

Pages: [1]

geschrieben von okley am 03.04.2005 - 19:34
hallo zusammen

ich habe folgenden code:

HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
<script language="javascript" src="./html/jsrs/jsrsClient.js"></script>

<script language="javascript">			
	var goon = false;
	function Validate(frm, tmpl){
	  var elString = new String();
	  // jedes element der form durchgehen und namen und value merken
	  for (var i = 0; i < frm.length; ++i) {
		elString += frm.elements[i].name+'~'+frm.elements[i].value+'°';
	  }
	  jsrsPOST = true;
	  var z = jsrsExecute('./bin/JSValidation.php', myCallback, 'Validate', Array(tmpl, elString), false);
	  sleep(12);
	  return goon;
    }
	function myCallback(returnstring){
	  // F&uuml;r PHP-Validierung mache quit=true;
	  if(returnstring == ''){ goon = true; return; }
	  alert(returnstring);
	} 
</script>


der zweck dieses codes ist es mit der jsrs-library (remotescripting) von http://www.ashleyit.com zu arbeiten. dabei sende die parameter tmpl und elString an die funktion 'Validate' im file JSValidation.php den return der 'Validate' funktion gibt javascript an die Callbackfunction myCallback um dort die meldung per javascript auszugeben.
also ich kann so clientseitig eine meldung ausgeben, welche ich serverseitig erstellt habe, ohne das eigentliche anzeige fenster neu zu laden... soviel zum sinn der ganzen sache ;)

nun mein problem ist, dass ich jetzt prüfen will, ob die fehlermeldung vorhanden ist (returnstring==''), wenn keine vorhanden ist, gebe ich dem formular true zurück. d.h. die seite wird neu geladen.
jetzt habe ich aber ein verständnisproblem mit callbackfunktionen ..., ich dachte ich könnte da eine var goon auf true setzen um dann in der haupfuntkion diese zurückzugeben. das geht aber nicht ohne das sleep(12); , weil wenn ich das sleep weglasse dann schickt er, im falle das kein validierungserror vorhanden ist, den POST request erst nach dem zweiten klicken auf den submitbutton ab.
mache ich es mit sleep(12) gibt er immer true zurück..., d.h. die alertmeldung wird nie gezeigt, sondern die seite wird ohne meldung neu geladen.

puh ... , ich hoffe ihr versteht was ich meine. also ich wüsst einfach gerne wie das mit der callbackfunktion genau abläuft ..., ich denke der fehler liegt dort.

geschrieben von okley am 06.04.2005 - 16:09
fällt niemanden einen lösungsansatz ein? oder habt ihr mein problem nicht verstanden .. ?


Powered by: JBB v.2.0.4 Copyright ©2000-2006, www.javarea.de.