vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 General Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=111)
-   -   How do I hide AJAX progress indicator using vB_AJAX_Handler (https://vborg.vbsupport.ru/showthread.php?t=202021)

RealAdvice 01-16-2009 04:30 PM

How do I hide AJAX progress indicator using vB_AJAX_Handler
 
I currently have asynchronous AJAX writing to the db but can't figure out why I can't get a proper response to set the innerHTML of a uniquely named div to blank. I'm using to create the AJAX object. When I do this, it creates a progress indicator but I can't clear it out once the POST is complete. Any suggestions??

Code:

function sample(){
        var queryString = "?variableshere=11111;
        var statusdiv = "uniqueidhere"
       
        AJAX = new vB_AJAX_Handler(true);
   
        AJAX.onreadystatechange(samplecomplete(a,b,c));
    AJAX.send('test.php' + queryString);
}

function samplecomplete(a,b,c)
{       
        fetch_object(statusdiv).innerHTML = "<img src=\"/images/misc/13x13progress.gif\">";
       
        if (AJAX.readyState == 4 && AJAX.status == 200)
        {
                if (AJAX.responseXML)
                {
                        document.getElementById(rid).className = gaugeclass;
                        fetch_object(statusdiv).innerHTML = "";
                }

                if (is_ie)
                {
                        AJAX.abort();
                }
        }
        else
        {
                if(document.getElementById(rid))
                {
                        document.getElementById(rid).className = gaugeclass;
                }
        }
}


Dismounted 01-17-2009 12:24 PM

Firstly, vBulletin now uses the YUI library, so you should execute AJAX commands like so:
Code:

YAHOO.util.Connect.asyncRequest('POST', scriptpath + '?do=ajax', {
        success: this.handle_ajax_response,
        failure: this.handle_ajax_error,
        timeout: vB_Default_Timeout,
        scope: this
}, SESSIONURL + 'securitytoken=' + SECURITYTOKEN + '&foo=' + foo);

Now your problem. The variable "statusdiv" is not in scope (i.e. does not exist), when you want it to be. Just place this variable into your second function.


All times are GMT. The time now is 06:59 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.00918 seconds
  • Memory Usage 1,713KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (2)bbcode_code_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (2)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete