我在运行时创建动态复选框。我的要求是必须至少验证一个复选框是否选中。我正在用springJS做这件事。但是要验证,我必须将checkBox Id传递给spring验证,但是这个ID数组是在运行时创建的。我怎样才能做到这一点?我试过了所有的解决方案,但对我没有用。我是这样做的,如果我硬编码复选框id是有效的。
<script type="text/javascript">
Spring.addDecoration(
new Spring.ElementDecoration({
elementId: '_CheckBox_ids',
widgetType: 'dijit.form.CheckBox',
widgetModule: 'dijit.form.CheckBox',
validate: function () {
if (dojo.query("#roo_apiUser_profile > input[type=checkbox]", 'dijit.form').filter(function (n) {
return n.checked;
}).length > 0) {
return true;
} else {
alert('choose at least one profile');
return false;
}
},
widgetAttrs: {
required: true
}
}));
</script>发布于 2013-12-12 12:35:41
您可以在onsubmit标记中添加表格属性,并调用一个在复选框上进行验证的函数。
或者,您可以使用AbstractElementDecoration (在spring.js中定义)创建自己的dojo.declare扩展,并将一个函数传递给validate属性,该函数将为您进行复选框验证。对于elementId,您可以传入包含所有复选框的div元素的id。Spring.ValidateAllDecoration调用Spring.validateAll函数。确保您在AbstractElementDecoration扩展中进行了必要的调整,以便在Spring.validateAll中没有异常。
https://stackoverflow.com/questions/20487204
复制相似问题