OK.when you create a function in javascript with parameters then the function will look like function(var1, var2){}, you can use those variables by their name directly there is no need to use the $wnd with the variable name unless the variable is defined as global/outside the method scope {}
Now in your case if canvasname is passed as param to the function then you wont have to use $wnd in order to access it. but in case you need to store its value in order to use it somewhere else then you will need to create a global variable per page scope; therefore you will need to include it in your header tag <script>var canvasnameval ;</script> then inside your call back method you will do $wnd.canvasnameval = canvasname; Hope that this help. On Fri, Sep 25, 2009 at 2:08 PM, Paul Robinson <ukcue...@gmail.com> wrote: > > Does this work: > var cnv = eval("$wnd." + canvasname); > > Steven De Groote wrote: > > I'm afraid I lost you somewhere... > > > > Suppose I make a global var canvasname, what should I assign it to > > then? > > The problem is that this defineBridgeMethodSubmitDone() is static, > > while in the JS function I need to call a function on a specific > > object. > > > > The name of the object is cnv_fu1, so I think $wnd.cnv_fu1 would > > return me my object. > > I do have that name in the variable canvasname, but I can't work out > > how to get my object. > > > > If you were pointing at something else, feel free to explain, I don't > > understand fully right now. > > > > > > Regards, > > Steven > > > > On Sep 25, 11:48 am, rudolf michael <roud...@gmail.com> wrote: > > > >> I guess that you have a scope problem. function(canvasname, filename) { > >> } > >> canvasname is not accessible from outside the method scope. In order to > make > >> it global, you need to define in in your html header. > >> by addsing <script>var canvasname;</script> > >> > >> Then you access it from anywhere you like using $wnd from native GWT or > by > >> its name if you wanna hit it from normal js code. > >> > >> regards, > >> ruds > >> > >> On Fri, Sep 25, 2009 at 12:41 PM, Steven De Groote < > stevendegro...@gmail.com > >> > >> > >>> wrote: > >>> > >>> Hi, > >>> > >>> I'm struggling a bit with JSNI and would like your help. > >>> I have defined the following: > >>> > >>> public static native void defineBridgeMethodSubmitDone() /*-{ > >>> $wnd.submitDone = function(canvasname, filename) { > >>> $wnd.alert("Upload done: " + canvasname + " - " > + > >>> filename); > >>> var cnv = $wnd.canvasname; > >>> $wnd.alert("Form object: " + cnv); > >>> var myvar = > >>> c...@be.sofico.montelli.mmc.client.custom.widgets.upload.srafileupload > >>> ::submitDoneInternal > >>> (Ljava/lang/String;)(filename); > >>> $wnd.alert("Incoming: " + file + " Processed: " > + > >>> form); > >>> } > >>> }-*/; > >>> > >>> Here the canvasname is a string with value "cnv_fu1" > >>> I have checked with firebug, and there exists a $wnd.cnv_fu1 in my > >>> application. > >>> However, I cannot work out how to access this object. > >>> > >>> "var cnv = $wnd.canvasname;" is not working as I think it doesn't take > >>> the value of canvasname, rather just the string "canvasname". > >>> > >>> Does anyone know how to solve this itching issue? > >>> > >>> Thanks, > >>> Steven > >>> > > > > > > > > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to google-web-toolkit@googlegroups.com To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en -~----------~----~----~----~------~----~------~--~---