我用dojo1.5设置了一个表单,我使用了dijit.form.ComboBox和dijit.form.TextBox
组合框有“汽车”、“自行车”、“摩托车”等值,而文本框是组合框的形容词。因此,组合框中有什么并不重要,但如果组合框确实有值,则必须在文本框中填充一些内容。可选地,如果组合框中没有任何内容,那么文本框中就没有东西了,这很好。事实上,如果组合框中没有东西,那么文本框中就一定没有东西。
在常规编码中,我只会在文本框上使用一个onBlur事件来转到一个函数,该函数检查组合框是否有值。我在Dojo中看到这不起作用...代码示例如下...
Vehicle:
<input dojoType="dijit.form.ComboBox"
store="xvarStore"
value=""
searchAttr="name"
name="vehicle_1"
id="vehicle_1"
/>
Descriptor:
<input type="text"
dojoType="dijit.form.TextBox"
value=""
class=lighttext
style="width:350px;height:19px"
id="filter_value_1"
name="filter_value_1"
/>
我最初尝试在Descriptor的标记中添加onBlur,但发现这不起作用。
Dojo如何处理这个问题?是通过dojo.connect参数吗?尽管在上面的例子中组合框的id是“vehicle_1”,文本框的id是“filter_value_1”,但是可以有许多组合框和文本框按顺序向上编号。(vehicle_2,vehicle_3等)
任何建议或资源链接将不胜感激。
2条答案
按热度按时间zsohkypk1#
要添加onBlur事件,您应该使用dojo.connect():
如果您有多个输入需要连接到它,可以考虑为那些需要模糊的输入添加一个定制类,并使用dojo.query连接到所有这些输入:
在传递给dojo.connect的函数中,您可以添加一些代码来去掉末尾的数字,并使用它来引用每个filter_value_* 输入以进行验证。
dojo.connect()
Combobox documention
crcmnpdw2#
onBlur
似乎对我来说工作得很好,即使在HTML声明的小部件中也是如此。http://jsfiddle.net/kfranqueiro/BWT4U/
(Have firebug/webkit inspector/IE8开发工具打开以查看console.log消息。)
然而,对于更理想的解决方案,您可能还对其他一些小部件感兴趣...
希望这能让你开始。