Recently I have faced a problem of monitoring all the ajax calls. Based on the response from server I have to perform some task depending on the contents of response. If the html response contains some text input field, the first text input field should be automatically focused otherwise leave the response as it is.
Here is the javascript code :
<span id="ajax_spinner" style="display:none"></span>
<script type="text/javascript"> jQuery("#ajax_spinner").ajaxComplete(function(event, xhr, options) { var data = jQuery.httpData(xhr,options.dataType); /* Now data contains the responseText if the response type is text/html or text/palin otherwise it is undefined. */ var inputFieldIndex=-1; try{ /* try-catch because data may be undefined as mentioned above. */ inputFieldIndex=data.indexOf("<input"); }catch(err){} if(inputFieldIndex>-1){ /* response contains input tag */ jQuery('input:text:visible[disabled=false]:first').focus(); } }); });</script>
The above trick worked for me and hope it works for you guys too.
Helpful links :-
http://api.jquery.com/ajaxComplete/
~~~~Bhagwat Kumar~~~
bhagwat@intelligrape.com
Cheers!
~~Bhagwat Kumar~~
bhagwat(at)intelligrape(dot)com
http://twitter.com/bhagwatkumar
http://in.linkedin.com/in/bhagwatkumar
This entry was posted
on March 4th, 2010
at
12:01 pm and is filed under
Javascript/Ajax/JQuery .
You can follow any responses to this entry through the
RSS 2.0 feed.
You can leave a response, or trackback from your own site.

What a nice and clean way to do the most basic requirement.Well Done
Helped me in implementing the redirect functionality for ajax calls in case of session timeout. Thanks.