私のテキストボックス入力を指定するカレンダーだけを持ち、dijit.form.DateTextBox内のカレンダーのテキストボックスにキーボードでパンチした数字を許可しません。それを行う方法はありますか?dijit.form.DateTextBoxで手動入力を無効にする
ありがとうございました。
私のテキストボックス入力を指定するカレンダーだけを持ち、dijit.form.DateTextBox内のカレンダーのテキストボックスにキーボードでパンチした数字を許可しません。それを行う方法はありますか?dijit.form.DateTextBoxで手動入力を無効にする
ありがとうございました。
は、私が実際に何か他のものを使用して終了ここに私のソリューションです:私は必要な要素を設定することにより
dojo.addOnLoad(function() {
dojo.query(".dijitDateTextBox input[role='textbox']").forEach(function (node, index, arr) {
node.setAttribute('readonly', 'readonly');
});
});
に「読み取り専用」、私は望ましい効果を得ます。ページの読み込み時にこれを実行しますが、オーバーヘッドについてはわかりませんが、主な点は動作します。ウィジェットの起動時に
//to disable input from user at the textbox.s
startup:function(){
this.inherited(arguments);
dojo.connect(this, "onKeyPress", function(evt){
dojo.stopEvent(evt);
});
},
:あなたが追加することができ、拡張ウィジェット内MrZombieから答えを更新
あなたの入力に無効なパラメータを追加することができます。
<input type="text" name="startDate" dojoType="dijit.form.DateTextBox" constraints="{datePattern:'MM/dd/yyyy'}" value='' disabled validate='return true;' />
は、それが
@Sudhirを役に立てば幸い:あなたは無効にウィジェットを設定している場合、あなたはどちらかのカレンダーの日付を選択することはできません。
これを試してください: -
dojo.ready(function(){
dojo.connect(dijit.byId("yourcalendarid"), "onKeyPress", function(evt){
dojo.stopEvent(evt);
});
});
+1素晴らしい!シンプルで効果的なソリューション。 – MockerTim
。
以下のコードは、DateTextBox
が読み取り専用にするために使用することができます。
<input data-dojo-type="dijit/form/DateTextBox"
data-dojo-id="effectiveDate"
type="text"
name="effectiveDate"
id="effectiveDate"
data-dojo-props="'readonly': 'readonly'"/>
あなたは道場の日付入力要素を無効にするために使用できる2つのオプションがあります。
コード
1)setDisabled(true)
方法
dijit.byId('id').setDisabled(true);
又は
2を使用)を直接disable
プロパティを設定します。 (両方の要素を無効にする必要があります)
dijit.byId(id).disabled = true;
dijit.byId(id).textbox.disabled = true;
答えがあなたの問題を解決してくれませんでしたか? – Philippe