禁用dijit.form.DateTextBox中的手动输入
Disabling manual input in dijit.form.DateTextBox
我只想让日历指定我的文本框输入,而不允许在我的日历文本框中键入键盘数字,在dijit.form.DateTextBox中。有什么办法吗?
谢谢。
可以使用以下代码将DateTextBox
设置为只读:
<input data-dojo-type="dijit/form/DateTextBox"
data-dojo-id="effectiveDate"
type="text"
name="effectiveDate"
id="effectiveDate"
data-dojo-props="'readonly': 'readonly'"/>
@Sudhir:如果你将小部件设置为禁用,那么你也不能在日历上选择日期。
Try this:
dojo.ready(function(){
dojo.connect(dijit.byId("yourcalendarid"), "onKeyPress", function(evt){
dojo.stopEvent(evt);
});
});
我实际上最后使用了其他东西-这是我的解决方案:
dojo.addOnLoad(function () {
dojo.query(".dijitDateTextBox input[role='textbox']").forEach(function (node, index, arr) {
node.setAttribute('readonly', 'readonly');
});
});
通过将我需要的元素设置为"只读",我得到了想要的效果。我在我的页面加载中执行这个,我不确定开销,但重点是,它有效。
您可以在输入中添加disabled参数:
<>之前之前希望有所帮助
在扩展小部件中更新来自MrZombie的答案,您可以添加:
//to disable input from user at the textbox.s
startup:function(){
this.inherited(arguments);
dojo.connect(this, "onKeyPress", function(evt){
dojo.stopEvent(evt);
});
},
小部件启动时
您可以使用两个选项来禁用dojo日期输入元素。
1)使用setDisabled(true)
方法
dijit.byId('id').setDisabled(true);
或
2)直接设置disable
属性。(你需要禁用这两个元素)
dijit.byId(id).disabled = true;
dijit.byId(id).textbox.disabled = true;
相关文章:
- 扫描仪设备或手动输入的识别输入问题
- 如何手动馈送高图表主详细信息图表的输入
- 通过JS更新时,Angularjs输入不会更改,而不是手动更新
- 手动输入D.O.B时计算年龄
- Jquery,手动输入的日期选择器
- Jquery UI 滑块在手动输入时自动更改
- 手动输入字符串的 JSON 解析语法错误
- 无法使用 jqxDateTimeInput 手动输入日期
- 为什么我的 javascript 函数只有在我手动输入输入时才有效
- AngularJS-处理手动输入URL状态的最佳方式
- javascript url拆分,用于在表单中手动输入url
- 禁用JS的IE10执行手动输入的“onmousedown”
- 禁用dijit.form.DateTextBox中的手动输入
- 如何为YouTube视频手动输入iframe捕获OnStateChange事件
- Angular不会对通过jquery改变的输入值做出响应,只会对手动输入的值做出响应
- 如何使用JavaScript在文本框中显示手动输入的字符串值同一网页上的HTML
- 使用复选框中选中的值自动填充文本框值,但保留手动输入的值
- 如何在浏览器中手动输入POST数据
- 仅在手动输入值时工作
- Angularjs,日期输入:用特定的格式手动输入一个日期