#javascript #jquery #asp.net #asp.net-mvc #asp.net-mvc-3
#javascript #jquery #asp.net #asp.net-mvc #asp.net-mvc-3
Вопрос:
Я хочу защитить текстовое поле, чтобы оно не принимало никаких значений, кроме чисел. Чего я добился с помощью следующего кода
function allowOnlyNumber(evt) {
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode > 31 amp;amp; (charCode < 48 || charCode > 57))
return false;
return true;
}
Проблема в том, что когда я ввожу число в текстовое поле и сохраняю, нажав кнопку ОБНОВЛЕНИЯ, связанную с ним, оно сохраняется, что и ожидалось. но во второй раз, когда я выбираю номер из этого текстового поля и очищаю его с помощью клавиш Delete или Backspace с клавиатуры и нажимаю на связанную с ним кнопку ОБНОВЛЕНИЯ, пустое значение обновляется.
Как я могу защитить текстовое поле, чтобы оно не принимало это пустое значение? Оно должно сохранять предыдущее допустимое значение.
Комментарии:
1. проверьте, что оно не равно
""
2. Добро пожаловать в SO. если вы хотите получить ответ, специфичный для вашего кода, включая отправку, пожалуйста, опубликуйте весь код. в противном случае мы можем дать вам только общие ответы.
3. Имеет ли текстовое поле какие-либо значения после начальной загрузки? Или оно изначально пустое?
4. @Maibub Patil чего еще вы ожидаете, вы нажимаете кнопку обновления. Вам необходимо применить обязательную проверку поля к вашему текстовому полю.
Ответ №1:
Используйте этот фрагмент кода для функции OnLoad
var preVal = $("#txt").val();
$("#txt").change(function()
{
if($(this).val().trim() == '')
{
$(this).val(preVal);
}
preVal = $("#txt").val();
}
);
Рабочая скрипка здесь
Ответ №2:
Вы можете использовать $.trim()
метод jQuery, чтобы предотвратить отправку пустого значения.
Попробуйте с этим, как:
var elem = $('yourelemId').val(); // get the specific value
if($.trim(elem) === ""){ // use trim to remove any whitespace
alert('Your alert msg here');
e.preventDefault();
}
Ответ №3:
Сделайте это.. Короткий код, вообще не принимающий числа.
$("#txt").keyup(function() {
this.value = this.value.replace(/[^a-zA-Z.]/g,'');
});
работаем здесь http://jsfiddle.net/kz573/1 /