Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Javascript: Проверка на наличие пробела в полях

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

cabron666



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток
Есть форма, где есть несколько текстовых полей (input type=text) предназначеная для ввода цифр, хотелось бы еще проверить чтобы не вводили туда не пробелы, не буквы. Т.е правильные варианты будут целые числа (100) и с десятками (100.10) Можно ли сделать чтобы при нажатии на сабмит выводилась ошибка при наличии пробела/буквы или другова знака?
Спасибо

----------
Жизнь - это рояль, клавиша белая, клавиша черная, крышка...

Всего записей: 1343 | Зарегистр. 03-02-2002 | Отправлено: 11:25 08-06-2004
Mamay



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
на onSubmit цепляешь функцию которая проверит значения например с помощью substr(',',document.getElementById('myElement').value);
 
Добавлено
сори промахнулся - не substr а IndexOf

----------
Даже самый дурацкий замысел можно выполнить мастерски

Всего записей: 1352 | Зарегистр. 03-09-2002 | Отправлено: 12:55 08-06-2004
cabron666



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mamay
А можно целый код? А то я с жабоскриптом не очень дружу
Например, есть такая форма

Код:
 
<form name="form1" method="post" action="">
<input type="text" name="forma1">
<input type="text" name="forma2">
<input type="submit" name="Submit" value="Submit">
</form>
 

Текстовых больше двух, нужно их всех проверить на наличие "не нужных" знаков и при нажатии на сабмит скать где находится ошибка

----------
Жизнь - это рояль, клавиша белая, клавиша черная, крышка...

Всего записей: 1343 | Зарегистр. 03-02-2002 | Отправлено: 13:50 08-06-2004
Mamay



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ну шо-то типа этого

Код:
function CheckSign() {
 var fm1 = form1.forma1.value;
 if ( fm1.IndexOf(' ') <>0 ) {
  Alert('Низя писать пробелы!!!');
  return false;
 }
 return true;
}


----------
Даже самый дурацкий замысел можно выполнить мастерски

Всего записей: 1352 | Зарегистр. 03-09-2002 | Отправлено: 14:15 08-06-2004 | Исправлено: Mamay, 14:17 08-06-2004
Svarga

Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
cabron666

Код:
<form name="form1" method="get" action="file.cgi" onSubmit="return checkIt(this)">
<script type="text/javascript">
var reg=/^\d+$/
function checkIt(F){
  var f1=F.forma1
  var f2=F.forma2
  if(reg.test(f1.value)&&reg.test(f2.value)){
    return true;
    }
  else{alert('Допустимы только числовые данные')
    if(!reg.test(f1.value)){
      f1.style.backgroundColor='red'
      }
    if(!reg.test(f2.value)){
      f2.style.backgroundColor='red'
      }
    return false
    }
  }
</script>
 
<input type="text" name="forma1" onFocus="this.style.backgroundColor=''">
<input type="text" name="forma2" onFocus="this.style.backgroundColor=''">
<input type="submit" name="Submit" value="Submit">
</form>

 
в работе:
http://forall.ru-board.com/Svarga/check_num.html
 
P.S. JavaScript: Проверка значений элементов формы (e-mail, имя..

----------
away.

Всего записей: 4161 | Зарегистр. 25-06-2002 | Отправлено: 14:32 08-06-2004
cabron666



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Svarga
Спасибо за скрипт и за ссылки
Тут одна проблема появилась в регулярным выражением, число может быть как целым (100) так и с десятками (100.10) а так же поле может быть пустым и сообщение об ошибке не должно появляться
Еще раз огромное спасибо!

----------
Жизнь - это рояль, клавиша белая, клавиша черная, крышка...

Всего записей: 1343 | Зарегистр. 03-02-2002 | Отправлено: 15:36 08-06-2004
Svarga

Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
cabron666

Код:
<form name="form1" method="get" action="file.cgi" onSubmit="return checkIt(this)">
<script type="text/javascript">
var reg=/^\d+(\.\d+)?$/
function checkIt(F){
  var f1=F.forma1
  var f2=F.forma2
  if((reg.test(f1.value) || ''==f1.value) &&
    (reg.test(f2.value) || ''==f2.value)){
    return true;
    }
  else{alert('Допустимы только числовые данные')
    if(!reg.test(f1.value) &&  ''!=f1.value){
      f1.style.backgroundColor='red'
      }
    if(!reg.test(f2.value) && ''!=f2.value){
      f2.style.backgroundColor='red'
      }
    return false
    }
  }
</script>
 
<input type="text" name="forma1" onFocus="this.style.backgroundColor=''">
<input type="text" name="forma2" onFocus="this.style.backgroundColor=''">
<input type="submit" name="Submit" value="Submit">
</form>

 
В работе: http://forall.ru-board.com/Svarga/check_num_fixed.html

----------
away.

Всего записей: 4161 | Зарегистр. 25-06-2002 | Отправлено: 16:10 08-06-2004 | Исправлено: Svarga, 16:12 08-06-2004
cabron666



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Svarga
Огромное спасибо!

----------
Жизнь - это рояль, клавиша белая, клавиша черная, крышка...

Всего записей: 1343 | Зарегистр. 03-02-2002 | Отправлено: 12:24 09-06-2004
devall



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
отличный RegExp. буду юзать :-D

Всего записей: 5 | Зарегистр. 26-11-2003 | Отправлено: 22:11 11-06-2004
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » Javascript: Проверка на наличие пробела в полях


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru