Не допускается использование алфавитов или других символов, кроме цифр (0-9) или десятичных, в браузере Android - PullRequest
0 голосов
/ 15 апреля 2011

У меня работал следующий код: firefox, IE 8, chrome, Safari и iphone.

function dotplaced(myfield){
    if(myfield.indexOf(".")===-1){
        return false;
    }
    return true;    
}

function NumbersOnly(myfield, e) {
    var key;
    var keychar;

    if (window.event) {
        key = window.event.keyCode;
    }
    else if (e) {
        key = e.which;
    }
    else {
        return true;
    }

    keychar = String.fromCharCode(key);

    // control keys
    if ((key == null) || (key == 0) || (key == 8) ||
    (key == 9) || (key == 13) || (key == 27)) {
        return true;
    }
    // numbers
    else if ((("0123456789").indexOf(keychar) > -1)) {
        return true;
    }
    // decimal point jump
    else if (!dotplaced(myfield.value) && (keychar == ".")) {
        //myfield.form.elements[dec].focus();        
        return true;
    }
    else {
        return false;
    }
}

В то время как Android 2.1 выдает некоторые ошибки.Если у меня ничего нет в текстовом поле, android также позволяет мне вводить алфавиты, если я ввожу какое-то значение по умолчанию, скажем, 7. Затем он ограничивается, пока я не введу знак периода или не удалю весь текст текстового поля.Идея относительно этого?

Ответы [ 2 ]

2 голосов
/ 15 апреля 2011

может быть полезно добавить android:numeric="integer" в xml?

0 голосов
/ 18 мая 2011

Когда я провел больше исследований по этому вопросу.Затем я узнал, что причиной проблем является поведение Android в предсказаниях автотекста.

...