javascript - dojox.form.Rating 未出现在发布数据中

标签 javascript dojo

我在 Dojo 表单中包含了一个 Dojo 星级评级小部件 (dojox.form.Rating),但是在提交时它没有出现。

<div dojoType="dojox.form.Rating" numStars="5" id="field_3177" value="3"></div>

文档没有提到添加名称属性,但即使我添加一个也无济于事。

<div dojoType="dojox.form.Rating" name="field_3177" numStars="5"  id="field_3177" value="3"></div>

检查 Firebug 中呈现的 HTML,隐藏的输入字段似乎没有名称属性 - 这可以解释为什么它没有出现在 POSTed 数据中。

<input type="hidden" dojoattachpoint="focusNode" value="3" id="field_3177" tabindex="0">

在提交之前我应该​​做些什么吗?

最佳答案

您只需要为小部件添加一个名称,即

<div dojoType="dojox.form.Rating" numStars="5" id="field_3177" name="field_3177" value="3"></div>

这对 Dojo 来说没什么特别的。所有输入元素都必须有一个名称才能提交回服务器,请参阅 http://www.w3schools.com/tags/att_input_name.asp .

更新: 抱歉,没有看到您已经尝试添加名称参数。我认为这是表单或(更有可能)评级小部件中的错误。如果您使用 dijit.form.Form.getValues() 通过 XHR 提交您的表单,那么您将获得包含评级的小部件 - 如果您有姓名。但是,如果您使用 native 表单提交,则不会。

我在 hhttp://telliott.net/dojoExamples/dojo-ratingInFormExample.html 创建了一个测试用例。您可以通过快速遍历 getValues() 返回的值并自己构建查询字符串,使其适用于非 XHR 表单提交。不理想。我怀疑评级模板应该更新以将名称属性放在输入节点而不是顶级节点上。

关于javascript - dojox.form.Rating 未出现在发布数据中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5003351/

相关文章:

javascript - 在 dojo javascript 框架中通过名称属性获取 DOM

javascript - 当页面已打开时锁定页面

Javascript从具有最小值的数组中获取对象,需要找到最小值然后找到对象

javascript - 在 dojo dataGrid 中创建摘要行?

javascript - XPages - 更改放置栏按钮的背景颜色

javascript - 如何(或者是否有必要)将 Javascript 对象转换为 Dom

javascript - stopPropagation 不适用于嵌套 href 标记

javascript - 使用 Graph API 无法使用过滤器参数获取特定日期的事件

javascript - 遍历每个表行并向其添加超链接

ajax - 获取 dojo 中所有 AJAX 调用的全局处理程序