ugrás a tartalomhoz

Ajax.Request egy osztályon belül

aramisz · 2008. Júl. 31. (Cs), 13.05
Szeretném segítségeteket kérni abban, hogy az alábbi kódot hogy kell módosítanom ahhoz, hogy a func2 metódusban lévő Ajax.Request-ben hogy tudom átvenni a már kiértékelt változókat.

var jsClass = Class.create();
jsClass.prototype = {
    initialize: function(p1, p2, p3){
        this.p1 = p1;
	this.p2 = p2;
	this.p3 = p3;
	this.func1();
	this.func2();
    },
    
    func1: function(){
		this.p4 = = this.p1 + this.p2 + this.p3;
		$('div_result').innerHTML = this.p4;
	}
	
    func2: function(){
		var a1 = new Ajax.Request('ajax.php', { method:'post',
			parameters: 'mode=p1&p1='+this.p1,
		  	onSuccess: function(transport){
		      var p5 = transport.responseText;
			  alert(p5>this.p4?true:false);
			  // alert-ben a this.p4 értéke undefined, hogy tudnám áthozni ide a számított eredményt, 
              // hogy tudjak vele értékelni?
		    }
		  });
	}
}
 
1

bind a barátod

toxin · 2008. Júl. 31. (Cs), 13.34
http://www.prototypejs.org/api/function/bind

üdv Csaba
2

bind lesz a barátom

aramisz · 2008. Júl. 31. (Cs), 14.41
Egy egyszerű példát tudnál írni, hogy megértsem, vagy esetleg kiegészítenéd a kódomat, mert sajnos nem jöttem rá a használatára.
3

re

toxin · 2008. Júl. 31. (Cs), 14.59

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        <title>Ajax - bind</title>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.2/prototype.js"></script>
        <script type="text/javascript">
            var jsClass = Class.create();
            jsClass.prototype = {
                initialize: function(p1, p2, p3){
                    this.p1 = p1;
                    this.p2 = p2;
                    this.p3 = p3;
                    this.func1();
                    this.func2();
                },
                
                func1: function(){
                    this.p4 = this.p1 + this.p2 + this.p3;
                    $('div_result').innerHTML = this.p4;
                },
                
                func2: function(){
                    var a1 = new Ajax.Request('ajax.php', {
                        method: 'post',
                        parameters: 'mode=p1&p1=' + this.p1,
                        onSuccess: function(transport){
                            var p5 = transport.responseText;
                            alert(p5 > this.p4 ? true : false);                           
                        }.bind(this)
                    });
                }
            };
            
            window.onload = function(){
                oFoo = new jsClass(1,2,3)
            };
        </script>
    </head>
    <body>
        <div id="div_result"></div>
    </body>
</html>
üdv Csaba

ui: a 18. sorban egy this van : kódszinező
4

bind lett a barátom

aramisz · 2008. Júl. 31. (Cs), 15.50
Köszönöm, igy már teljesen érthető. :)