0

をクリックするとtextfield、ドロップダウンが表示されるので、ユーザーはリストから値を選択できます。

ユーザーがドロップダウンから日付を選択した後、文字を追加して日付を編集することもできます。だから私はこれを防ぐ方法を見つけたいと思っています。フィールドを編集不可にすることを考えました。だから私は使用readonlyしましたが、これにより、ユーザーはリストをクリックして表示できなくなります。フィールドを編集不可にする方法を教えてください。

<input id="datePiccc" type="text" class="dates" />
4

3 に答える 3

5

以下のコードを使用できます。これにより、テキスト入力フィールドはクリック可能になりますが、ユーザーが何かを入力しても何も起こりません。

document.getElementById('datePiccc').onkeydown = function(e){
    e.preventDefault();
}

フィドルのデモ


nnnnnn で指摘されているように、削除およびバックスペース キー機能を停止するonkeydownよりも優れたオプションです。onkeypress

以下をコードに追加して、カット アンド ペースト イベントを無効にすることもできます1。(: Copy 操作はテキスト フィールドの値を変更しないため、何もしません)。

document.getElementById('datePiccc').oncut = function(e){
    e.preventDefault();
}
document.getElementById('datePiccc').onpaste = function(e){
    e.preventDefault();
}

1これらはすべてのブラウザで動作するはずです。現在、Chrome 31、Opera 15、IE10、および FireFox 24 でテストされてxいます。 .)

于 2013-09-27T11:25:59.137 に答える