フォームが有効かどうかに基づいて、ボタンの CSS クラスを「アクティブ」から「非アクティブ」に変更しようとしています。
だから私はこの宣言的なビットを持っています...
<form data-dojo-type="dijit/form/Form" id="myForm" action="http://somthing">
<script type="dojo/on" data-dojo-event="change" data-dojo-args="e">
// for some reason change returns dom object not dijit object....
var self = dijit.byId( this.id);
require( [ 'dojo/dom-class' ], function (domClass) {
var tmp, on = 'active' , off = 'inactive';
if (self.get('state')) {
// invalid
tmp = off; off=on; on=tmp;
}
domClass.replace( 'complete', on, off);
});
</script>
..rest of form and submit button with id='complete' is here.
このスクリプトは、フォームが有効かどうかに応じて送信ボタンのクラスを変更することを目的としています。私の最初の質問は、なぜこのルーチンがthis
Dijit オブジェクトではなく DOM オブジェクトを取得するのかということです。私の2番目の質問は、これをより良い方法で行うべきかどうかです。