Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 936921
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 15, 20262026-05-15T21:23:27+00:00 2026-05-15T21:23:27+00:00

I have 2 dijit widget template classes and am trying to call one from

  • 0

I have 2 dijit widget template classes and am trying to call one from the other but am having issues with dojo.hitch and scope:

I’m in a searchvehicleswidget and call a second widget, commandswidget:

this.CommandsWidget.Post("vehicle/getconfiguration/", request, dojo.hitch(this.CommandsWidget, this.CommandsWidget.FillForms));

Which then calls the Post function in commandswidget:

Post: function(path, request, callbackFunction) {
            console.debug("in post");
            console.debug(this);
            dojo.xhrPost({
                url: baseUrl + path,
                handleAs: 'json',
                timeout: 60000,
                content: request,
                contentType: "application/x-www-form-urlencoded",
                load: dojo.hitch(this, function(result) {
                    console.debug("in callback function");
                    console.debug(this);
                    callbackFunction();
                }),
                error: function(error, args) { AjaxError(error, args, path, request, callbackFunction); }
            });
        }

Which then calls the callback function originally passed in, FillForms:

FillForms: function(json) {
            console.debug("in fillforms");
            console.debug(this);
}

When it calls the Post function, the scope is CommandsWidget, which is correct. Even when we get into the return function for xhrPost load, the scope is still correct, CommandsWidget. However, when I then invoke “callbackFunction();”, which calls FillForms(), the scope reverts back to SearchVehiclesWidget! Even if I wrap that call in a dojo.hitch(this, callbackFunction), it still has a scope of SearchVehiclesWidget.

Anyone have any insights into what could be going wrong and how to fix it?

No, CommandsWidget is an instance of the Commands class and SearchVehiclesWidget is an instance of the SearchVehicles class. Yes, FillForms and Post are both in Commands.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-15T21:23:28+00:00Added an answer on May 15, 2026 at 9:23 pm

    I believe, your dojo.hitch is processed at the time of the call to the post function. Meaning the hitch is inside the SearchWidget, and this will reference that. So, the call back function is actually in SearchWidget… (You are passing the function created by dojo.hitch in searchwidget – not a call to dojo.hitch.)

    I have noticed DOJO doing stuff like this that was really screwy. I have gone as far as using global variables and being very explicit in the way I call the functions in order to daisy-chain multiple widgets. (Very messy)

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm using dojo and dijit and have an inlineEditBox widget. I'm trying to capture
I have a onsubmit dojo/method within a custom templated widget like so: try {
I have a dijit validationtextbox widget: <input dojoAttachPoint=tbIPAddress type=text size=15 class=ipaddress dojoType=dijit.form.ValidationTextBox required=true regExp=^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$
I have developed a custom dijit Templated Widget. I have to do some DOM
I have a dijit.form.Select widget. It's tied to a data store, if that matters.
I like the visual behavior of the DOJO TitlePane widget, but it has too
I have Aptana installed within Eclipse. I'm working on a project with the dojo
I have the following nested layout in a dojo 1.4 app: BorderContainer 1 -->
According to the dojo docs, dijit.layout.AccordionPane is deprecated in favor of dijit.layout.ContentPane link: http://api.dojotoolkit.org/jsdoc/1.3.2/dijit.layout.AccordionPane
I have to generate two random sets of matrices Each containing 3 digit numbers

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.