Dojo组合框复选框的值
Dojo combobox check values
我目前正在使用Dojo,我对它相当陌生。我遇到了一个问题,我想检查一个组合框的内容,如果用户输入是有效的或不。如果输入是无效的,我想防止POST操作发生后提交被按下。无效的输入将是像{}<>;'等字符。我只想允许文本和数字与regexp,输入必须大于0小于20,所以字段也不能为空。
用户必须能够输入他/她自己的自定义文本,而不仅仅是从已经可用的项目中选择,如果是这种情况,我应该使用FilteringSelect。
Thanks in advance
我想出了一个可能的解决方案的小代码示例。
你应该将组合框的"required"属性设置为true,并包含一个"regExp"属性,如下所示:
<script language="Javascript" type="text/javascript">
require(["dojo/store/Memory",
"dijit/form/ComboBox",
"dijit/form/Button",
"dojo/_base/window",
"dojo/domReady!"],
function(Memory, ComboBox, Button, win, ready){
var stateStore = new Memory({
data: [
{name:"Alabama", id:"AL"},
{name:"Alaska", id:"AK"},
{name:"Arizona", id:"AZ"},
{name:"Arkansas", id:"AR"},
{name:"California", id:"CA"},
{name:"Colorado", id:"CO"},
{name:"Connecticut", id:"CT"},
{name:"Delaware", id:"DE"}
]
});
var box = new ComboBox({
name: "state",
value: "",
store: stateStore,
searchAttr: "name",
required: true,
regExp: "[a-zA-Z0-9]{1,19}"
});
win.body().appendChild(box.domNode);
var submit = new Button({
label: "Submit",
style: "margin: 0 0 0 10px;",
onClick: function() {
if ( box.isValid() ) {
// Do the post
var boxValue = box.get("value").trim();
} else {
// Invalid entry
}
}
});
win.body().appendChild(submit.domNode);
});
</script>
如果您需要在RegExp中允许空格,则:
regExp: "[a-zA-Z0-9 ]{1,19}"
相关文章:
- 复选框选择组合
- 重定向到不同的页面,基于选中的复选框组合
- 组合复选框以激活文本字段和有限数量的允许复选框
- 任何人都可以帮助我编写代码,以便在 extjs 4.2 的组合框中制作带有复选框的面板
- 将复选框和按钮组合在同一个 CSS 主页菜单中
- Web 解决方案中带有复选框和筛选器的组合框
- 组合框更改时删除复选框和文本值
- 组合框更改复选框启用
- 我们是否可以使用谷歌闭包创建一个带有复选框和组合框的对话框
- 选择组合框后显示复选框
- 如何将自定义UI元素(如复选框、组合框等)添加到CesiumJS场景中
- 用于组合循环、文本、复选框和结果的JavaScript代码
- 如何将复选框与jqueryDatepicker组合
- 如何循环浏览页面上的所有单选或复选框输入,并返回返回的值组合
- 将复选框和文本字段数组分组,以便以组合在一起的形式显示
- 将复选框放入javascript的组合框中
- 按字母顺序从复选框组合中获得动态结果
- ExtJs多选组合框与复选框列表
- Ajax加载复选框后选择组合框- php
- 单选按钮+复选框组合