如何使输入类型编号不可编辑但仍然有效?

时间:2015-01-02 09:42:38

标签: html

<input readonly='readonly' id ='testid' name='testname' type='number' min ='1'>

我尝试了这个,但没有工作。有什么办法吗?比如使用css或javascript。

我的jsfiddle。

http://jsfiddle.net/jmasejo/vta96mp1/

3 个答案:

答案 0 :(得分:3)

这来自Disable writing in input type number HTML5,但它需要jQuery。

$("[type='number']").keypress(function (evt) {
    evt.preventDefault();
});

没有jQuery代码是:(输入是输入字段)

input.onkeypress=function(evt){
    evt.preventDefault();
};

答案 1 :(得分:1)

你好我有一个工作代码,但我认为这不是最好的方法。我合并了

的答案

How to disable backspace if anything other than input field is focused on using jquery

和TuomasK的答案

这是工作代码。

http://jsfiddle.net/vta96mp1/1/

<强> HTML

<input class='testInput' id ='testid' value = '1' name='testname' type='number' min ='1'>

<强> JS

$("#testid").keypress(function (evt) {
evt.preventDefault();
});

$(document).keydown(function(e) {
    var elid = $(document.activeElement).hasClass('textInput');
   console.log(e.keyCode + ' && ' + elid);
    //prevent both backspace and delete keys
    if ((e.keyCode === 8 || e.keyCode === 46) && !elid) {
        return false;
    };
});

答案 2 :(得分:1)

尝试这个。这个对我有用。

$("#testid").keypress(function (e) {
    e.preventDefault();
}).keydown(function(e){
    if ( e.keyCode === 8 || e.keyCode === 46 ) {
        return false;
    }
});