У меня работал следующий код: 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. Затем он ограничивается, пока я не введу знак периода или не удалю весь текст текстового поля.Идея относительно этого?