oh god.

i got a function sometesting() in the ajax response text ok? not in
calling main page. it's in response html data from ajax.
in response there is a table. in table there is a td and on td
mouseover event i call that function to highlight some fields.

now the function cam from response text. ok? read properly, the
response text is cam in main page div tag now.
if i call the function from main page anywhere it works.
but the actual even that is on mouse over of that td in response text
it don't works. it says not define.

now ?

On Mar 27, 12:10 am, James <james.gp....@gmail.com> wrote:
> What do you mean? Could you provide an example of the content of your
> response and what you want to do with it?
>
> You cannot call a function from inside the response html data before
> it reaches the browser. It has to reach the browser first because the
> browser does the Javascript work. If you want to do it before then,
> you'd have to do it server-side before sending the response.
>
> On Mar 26, 2:14 am, Amit Shah <amitsh...@gmail.com> wrote:
>
>
>
> > you didn't get it.
> > i mean the function written in response text. which has be evaluated.
> > can be called only from the main script. not from inside the responsed
> > html data.
>
> > On Mar 24, 8:07 pm, mkmanning <michaell...@gmail.com> wrote:
>
> > > If you're going to use jQuery, you have to be careful about writing
> > > code that then doesn't use jQuery. In this case, you're ajax call
> > > would have worked fine, if you had stuck with injecting the response
> > > into the DOM with jQuery, as it automatically evals scripts in a
> > > response with dataType of 'html'.
>
> > > Change:
> > > contentDiv.innerHTML = data
>
> > > to (with the appropriate selector for your div):
> > >  $('div').html(data);
>
> > > On Mar 24, 3:44 am, Amit Shah <amitsh...@gmail.com> wrote:
>
> > > > it's not working.
>
> > > > well eval(responseText); don't works.
>
> > > > cells = divResult.getElementsByTagName("script");
> > > >                         alert(cells.length);
> > > >                         for (var i = 0; i < cells.length; i++)
> > > >                         {
> > > >                                 alert(cells[i].innerHTML);
> > > >                             eval(cells[i].innerHTML);
> > > >                     }
> > > >                     sometesting(5);
>
> > > > is working.
> > > > but when the function sometesting() being called somewhere from
> > > > ajaxresponse text, browser gives error. both ie and firefox.
>
> > > > On Mar 15, 7:47 am, NightWatchman <rushi...@gmail.com> wrote:
>
> > > > > To execute javascript code returned by the server you need to use the
> > > > > javascript eval function on the string of script returned from the
> > > > > server. As far as I know changing the content of a div to a javascript
> > > > > block won't cause that javascript code to execute.
>
> > > > > I think you need to change:
>
> > > > > contentDiv.innerHTML = data;
>
> > > > > to
>
> > > > > eval(data);
>
> > > > > On Mar 14, 3:12 pm, Foreigner <foreigne...@gmail.com> wrote:
>
> > > > > > Hi,
> > > > > > I'm trying to use jQuery to get some HTML with Javascript using 
> > > > > > AJAX.
> > > > > > My response gets inserted into the contentDiv element but my
> > > > > > javascript inside the response doesn't get executed as the
> > > > > > documentation says (http://docs.jquery.com/
> > > > > > Specifying_the_Data_Type_for_AJAX_Requests).
>
> > > > > > Here goes my function with AJAX call:
>
> > > > > > function loadHtml(obj)
> > > > > > {
> > > > > >         if(obj.className == "menuItem")
> > > > > >         {
> > > > > >                 $.ajax({
> > > > > >                                  type:"GET",
> > > > > >                                  url:"content/" + obj.id + ".html",
> > > > > >                                  dataType: "html",
> > > > > >                                  success:
> > > > > >                                          function(data, status)
> > > > > >                                          {
> > > > > >                                                   
> > > > > > contentDiv.innerHTML = data;
> > > > > >                                          }
> > > > > >                                 });
> > > > > >         }
>
> > > > > > }
>
> > > > > > My response looks like:
>
> > > > > > <h3>Some heading</h3>
> > > > > > <script type="text/javascript">
>
> > > > > > //Some javascript code
>
> > > > > > </script>- Hide quoted text -
>
> - Show quoted text -

Reply via email to