0

Dojo Toolkitの新機能で、ページの読み込み時にxhrGetを正常に読み込むことができますが、DataGridの行が選択されているときにxhrGetを読み込む必要があります。そうする方法さえありますか?

<!doctype html>
<html>
<head>
<script type="text/javascript>
dojo.connect(btn, "onclick", function() {
/************************/
/* xhr - AJAX functions */
/************************/
dojo.ready(function(){

var targetNode = dojo.byId("xhr-container");

var xhrArgs = {
url: "info-to-get.html",
handleAs: "text",
load: function(data){
targetNode.innerHTML = data;
},
error: function(error){
targetNode.innerHTML = "You messed up, dummy!: " + error;
}
}
var deferred = dojo.xhrGet(xhrArgs);
});
});
</script>
</head>
<body>
<button type="button" id="btn">TEST</button>
<br>
<br>
<div id="xhr-container"></div>
</body>
</html>

xhrGetは、ページの読み込み時にそれ自体で正常に機能し、ボタンを介して呼び出そうとしたときにサイコロは発生しません。

4

1 に答える 1

1

これにより、html domNode のクリックが、xhr コードを配置できる関数の起動に結び付けられます。

dojo.connect(someDomNode, 'onclick', function() {
    //xhr code here
});

ウィジェットの場合は、次のようdijit.form.Buttonに記述できます

dojo.connect(someWidget, 'onClick', function() {
    //xhr code here
});

- 編集 - - - - - - - - - - -

投稿されたコードに基づいて、次のことが機能することを期待しています。

dojo.ready(function(){

    var targetNode = dojo.byId("xhr-container");

    var fnDoXHR = function() {
        var xhrArgs = {
            url: "info-to-get.html",
            handleAs: "text",
            load: function(data){
                targetNode.innerHTML = data;
            },
            error: function(error){
                targetNode.innerHTML = "You messed up, dummy!: " + error;
            }
        };
        var deferred = dojo.xhrGet(xhrArgs);
    };

    dojo.connect(dojo.byId('btn'), 'onclick', fnDoXHR);
});
于 2012-05-10T17:44:13.263 に答える