0
我想有从按钮改变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.
该脚本旨在根据表单是否有效更改提交按钮的类别。我的第一个问题是,为什么这个例程将DOM对象取为this
而不是Dijit对象,因为这些示例似乎暗示我应该获取后者。我的第二个问题是我是否应该以更好的方式做到这一点?
是的,我得到的印象是,我有时会试着吞下整个道场哲学的钩线和沉降片,当有可能是一个更简单的方法。从这些例子中,我预计会得到更高层次的事件。例如,你给出的页面通过'dojo/on'获取'submit'事件,并且期望'this'是Dojo对象,而不是DOM对象,调用'this.validate()' – vogomatix
我的团队和我从来没有使用dojo/on