帮助我理解这一点。
默认情况下dijit.form.FilteringSelect
(扩展自)不ValidationTextBox
应该具有属性吗?required = false
为什么简单地将 FilteringSelect 包含在如下所示的声明形式中会自动导致dijit.form.Form.isValid() == false
?
即使手动将 filterselect 的required
prop 设置为 false 也会导致表单提交无效。我觉得我在这里缺少一些东西。
我正在使用 dojo 工具包 1.6.1 版。
<!-- form.html -->
<form id="form" dojoType="dijit.form.Form">
<table>
<tr>
<td id="friend">
<select name="friend" id="friend-input" dojotype="dijit.form.FilteringSelect"></select>
</td>
</tr>
<tr>
<td>
<input type="submit" id="submit-input" value="Submit" label="Submit" dojotype="dijit.form.Button">
</td>
</tr>
</table>
</form>
/* form.js */
dojo.require("dijit.form.Button");
dojo.require("dijit.form.FilteringSelect");
dojo.require("dijit.form.Form");
dojo.ready(function() {
var form = dijit.byId("form");
var friendInput = dijit.byId("friend-input");
friendInput.required = false;
dojo.connect(form, "onSubmit", function(event) {
event.preventDefault();
if (form.isValid()) {
alert("Ready to submit data: " + dojo.toJson(form.get("value")));
} else {
alert("Form is not valid.");
}
});
});