Assigning the variable inside script block as the properties of window solved my problem. Trust me this information is quite hardly found. Took me a whole day. You're the man !!!
On Thursday, March 22, 2012 8:19:51 PM UTC+5:45, Brian Marquis wrote: > > change your script to: > > <script type="text/javascript"> > window.sayHi = function() { > alert("Hi"); > } > </script> > > Likewise, any variables defined in the script block are not evaluated in > the > global scope, therefore, they need to be assigned as properties of window > or > document. See > http://api.prototypejs.org/language/String/prototype/evalScripts/ for more > info > > Brian Marquis | Quotepro® | Senior Developer | b...@quotepro.com<javascript:>| > Phone: 312.654.8045 x122 / Fax: 312.654.1285 > > The information in this e-mail is confidential and may be legally > privileged. It is intended solely for the addressee. Access to this > e-mail by anyone else is unauthorized. > > -----Original Message----- > From: prototype-s...@googlegroups.com <javascript:> > [mailto:prototype-scriptaculous@googlegroups.com <javascript:>] On Behalf > Of Aravinda777 > Sent: Wednesday, March 21, 2012 11:11 AM > To: Prototype & script.aculo.us > Subject: [Proto-Scripty] JavaScript from AJAX response is not being > available > > Hi all, > > I used Prototype to get an AJAX response fromcalling a JSP page, and set it > as innerHTML of a div. > > I tried executing eval on the response separately before going with > Prototype, and seeing that prototype evaluates javascript in the > reponseText, I gave it a spin. However, when I try using the javascript > functionality after setting the innerHTML, still it does not seem to have > got evaluated. > > My sample JSP code looks like this: > > > <script type="text/javascript"> > function sayHi(){ > alert("hi"); > } > </script> > <p>test</p> > <input type="button" value="click" onClick="sayHi()"> > > I do the AJAX call like this on another page of the same app: > > new Ajax.Request(page, { > onSuccess: function(reponse) { > > document.getElementById('test_div').innerHTML=reponse.responseText; > } > }); > > When I click the button, I do not get the alert - which I can get if I > accessed the JSP dierctly. Is there something additional I need to do to > get > the sayHi() function working in the target div? Or probably I am missing > something trivial altogether. > > Appreciate your help on this. > > Regards, > -A > > -- > You received this message because you are subscribed to the Google Groups > "Prototype & script.aculo.us" group. > To post to this group, send email to > prototype-s...@googlegroups.com <javascript:>. > To unsubscribe from this group, send email to > prototype-scriptaculous+unsubscr...@googlegroups.com <javascript:>. > For more options, visit this group at > http://groups.google.com/group/prototype-scriptaculous?hl=en. > > -- You received this message because you are subscribed to the Google Groups "Prototype & script.aculo.us" group. To view this discussion on the web visit https://groups.google.com/d/msg/prototype-scriptaculous/-/gerGbsN64isJ. To post to this group, send email to prototype-scriptaculous@googlegroups.com. To unsubscribe from this group, send email to prototype-scriptaculous+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/prototype-scriptaculous?hl=en.