问题标签 [dijit.form]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - dijit.form.FilteringSelect 不显示任何值
我像这样创建一个过滤选择:
但是当我的页面加载时,过滤选择中没有显示任何内容。当您单击下拉菜单时,我的商店中的所有值都会显示,但过滤选择中实际上没有显示任何内容。如果我从 firebug 或 chorme 控制台调用 getValue() 或 getDisplayedValue() ,则会返回正确的值。有任何想法吗?
dojo - 覆盖 dijit 验证器函数并使用 regExp 属性
我是 dojo 的新手,可以在以下 2 个字段验证示例中真正使用一些帮助。
在下面的 dijit.form.ValidationTextBox 字段示例中,指定验证器属性似乎覆盖了 regExp 的使用。(即该字段不再遵守 regExp 规则)。我如何让它两者兼得?
<input dojoType="dijit.form.ValidationTextBox"
type="password"
name="password2"
id="password2"
maxLength="50"
trim="true"
regExp="[\w]+"
required="true"
validator="return this.value == dijit.byId('password').value"
invalidMessage="Confirmation password must match password"
/>
我有另一个类似的示例,其中一个字段取决于另一个字段的值,但我的语法不正确。
<input dojoType="dijit.form.ValidationTextBox"
type="text"
name="homePhone"
id="homePhone"
style="width:20%"
maxLength="10"
trim="true"
required="false"
regExp="[\d]{10}"
validator="return (dijit.byId('preferredContactMethod').value == "home") && (this.value != null)"
invalidMessage="Home phone required (ie. 9198887777)"
/>
validation - 使用 Dojo 进行自定义表单验证
我想执行一些客户端表单验证,我正在考虑使用 Dojo 来完成它。
我希望用户能够在文本框中插入他想要的内容,但是当他点击提交时,表单会被验证。如果一个字段无效,我想在文本框周围显示一个红色边框,并在右侧显示一条消息,也是红色的。
如果用户点击错误的文本框(onfocus),错误消息就会消失。如果他单击错误消息,则文本框将获得焦点并且错误消息会消失。再次,他可以插入任何他想要的直到验证。
据我了解,Dojo 有一些默认行为,如果无效,工具提示和文本框会变为黄色(参见下面的示例)。
是否可以使用 Dojo 做我想做的事情,或者我应该滚动自己的实现进行验证(我的意思是更容易:写一些我理解的东西,可以控制或使用一些未知的工具包)?
如果可能,我该怎么做或在哪里可以找到相关信息?
谢谢!
dojo - dojox.CheckedMultiSelect 的值未与 dojo.xhrPost 一起发布
当我使用 发布表单时dojo.xhrPost
,除了我的 dojox.CheckedMultiSelect 的值之外,我会发布表单中的所有字段,无论选择了哪些选项。
我的 CheckedMultiSelect 的声明:
这是我的 xhrPost:
这是我发布的内容:
尽管作为我的表单一部分的 dijit 控件的所有值都已发布,但为什么不发布 dojox 控件值的任何原因?该控件位于其他值被发布的控件之间,所以我知道它在表单中。
我刚刚添加了另一个按钮来执行console.log(formSearch.getValues())
而不是 xhrPost,并且我将控件的值记录到控制台中。所以很明显dojo意识到了这一点,但是当我这样做时,我console.log(dojo.formToJson("formSearch"))
再次获得了除dojox控件之外的所有表单数据。
json - dijit Form toJson 返回 dijit.form.DateTextBox 的空对象
运行以下代码:
似乎没有序列化dijit.form.DateTextBox
控件的值。在 Firebug 中查看,我可以看到它formSearch.attr("value"))
返回了包含控件设置的值的适当 DOM 对象,但是当我尝试对其进行序列化时,我得到如下信息:
zend-framework - dijit.form.datetextbox 中的 Null 或 0 值
我正在使用 Zend_Dojo_Element_DateTextbox AKA dijit.form.datetextbox 的标准输出...我想使用 NULL 或 0 值,但它始终默认为 11/30/1899...有一个简单的选项来启用它吗?
dojo - Dojo/Dijit:无法使过滤选择工作
我有一个带有一些 JavaScript 的页面,它包括 dojo.parser 并将 parseOnLoad 设置为 true 等等。
在页面的后面,我有另一个 JavaScript 标记,它具有:
毕竟,我有一个带有 dojoType="dijit.form.FilteringSelect" 的选择框。
每当我加载页面时,我都会得到:
undefined 无法加载类“dijit.form.FilteringSelect”。您是否正确拼写了名称并使用了完整路径,例如“dijit.form.Button”?
任何想法为什么?如果我将 require 语句放在第一个 JavaScript 标记中,它可以工作(但该标记位于更全局的文件中,所以我不希望它在那里)。
dijit.form - dijit.form.ComboBox 设置最大值。popupWidget 的高度
是否有一种干净的方法(通过属性)来设置 dijit.form.ComboBox 弹出列表的高度以仅显示一定数量的条目和滚动条?
zend-form - dijit.form.NumberTextBox 出错
尽管有很多试验和错误,我还是无法让 NumberTextBox 小部件工作。我不断收到此错误消息:
可捕获的致命错误:传递给 Zend_Dojo_View_Helper_NumberTextBox::numberTextBox() 的参数 4 必须是数组,给定 null
奇怪的是:我直接从 ZF 示例页面尝试了这个示例,但失败并出现同样的错误
所以,我现在很茫然。如果有人有时间查看此处找到的代码,我们将不胜感激。我知道这是我忽略的东西。它总是如此。
dojo - 即时更改约束
我有一个以这些参数开头的 dijit.form.NumberTextBox 输入字段:
一切都很好..我的问题是我想即时更改“地点”和“模式”参数。所以我写了这个来改变“地点”和“模式”参数:
因此,在我再次显示表单后,我希望输入字段允许 2 个小数位,但表单仍然像 places=0 和 pattern='######'。当我检查“地点”和“模式”的值时,我得到了我所期望的(2 和#####.0)。我的问题:
您可以即时更改这些值吗?
或者
您是否必须销毁原始 dijit 对象并使用新参数重新创建?
谢谢!!