user1445117
user1445117

Reputation: 199

Get the button clicked ID in the same function in dojo?

I don't know if it is an easy question but i couldn't find the solution. I want to create 10 buttons in dojo like the button below.

    <div style="right: 1px">
                <button data-dojo-type="dijit.form.Button" id="SaveChangesDataGrid1" onclick="SaveChanges()">
                    Save</button>
            </div>

but each button with different ID but the same function onClick. so what i want is when the button is clicked the id of the clicked button will be known in the function.

I am using dojo 1.8 any ideas?.

Upvotes: 1

Views: 1583

Answers (1)

phusick
phusick

Reputation: 7352

Change your onclick="SaveChanges()" to onclick="SaveChanges(event)" or get rid of it and use data-dojo-props:

<button
    data-dojo-type="dijit.form.Button"
    data-dojo-props="onClick:SaveChanges"
    id="SaveChangesDataGrid2"
>
    SaveChangesDataGrid2
</button>

Start your SaveChanges() this way to get id:

require([
    "dijit/registry",        
    "dijit/form/Button",

], function(
    registry
) {

    window.SaveChanges = function(event) {
        var button =  registry.getEnclosingWidget(event.target);
        console.log("onclick id:", button.id);
    }  
});

​ See it in action at jsFiddle: http://jsfiddle.net/phusick/WfdKF/

Upvotes: 2

Related Questions