Проверка полей формы на введенные данные.

Статус
Закрыто для дальнейших ответов.

Gaaarfild

Member
Регистрация
26.03.2008
Сообщения
19
Если кто знает, напишите пожалуйста. Надо чтобы ЯваСкрипт проверял, введены ли данные в полях форм. Если нет, то выдавал бы Alert. Без всяких CGI и тому подобного.
Если можно, приведите пожалуйста подробный листинг с комментами. Ото я с явой вообще не дружу. Заранее благодарен.
 

Nick

Well-Known Member
Регистрация
03.10.2006
Сообщения
87
Код:
<script>
var check = function() {
  var text = document.getElementById('text').value; // Смотрим, что вы ввели в поле
  if (text == '') { // Проверяем на пустое значение
	alert('Поле не заполнено');
  }
}
</script>

<input id='text'>
<input type='submit' onClick='check();return false;'>
С вас пива ))
 

Gaaarfild

Member
Регистрация
26.03.2008
Сообщения
19
Вот у меня еще вопрос. Есть форма. В полях заранее есть введенные данные. Как сделать, чтобы по клику в поле, заранее введенные данные убирались, тоесть поле очищалось для ввода.
 

Nick

Well-Known Member
Регистрация
03.10.2006
Сообщения
87
Код:
<script>
var clear = function() {
  document.getElementById('text').value = '';
}
</script>

<input id='text' vaue='МНОГО ДАННЫХ' onClick='clear();'>
С вас МНОГО пива ))
 

viKing

Well-Known Member
Регистрация
18.04.2006
Сообщения
103
зачем писать свою функцию если есть кнопка RESET?
 

RoamingFire

Well-Known Member
Регистрация
04.01.2008
Сообщения
145
Я из за тебя чуть не упал!! :) Прочитай внимательнее и подумай :)
 

Gaaarfild

Member
Регистрация
26.03.2008
Сообщения
19
2Nick
Огромное тебе спасибо и много пива! =)
 

RoamingFire

Well-Known Member
Регистрация
04.01.2008
Сообщения
145
мда... Ну пусть будет твой вариант с RESET :).
Тогда:
Пользователь щелкает на <INPUT type = "text"> нажимает RESET, и при этом удаляются данные по умолчанию ВО ВСЕХ <INPUT type = "text">
 

RoamingFire

Well-Known Member
Регистрация
04.01.2008
Сообщения
145
И кстате
Код:
<script>
var clear = function() {
  document.getElementById('text').value = '';
}
</script>

<input id='text' vaue='МНОГО ДАННЫХ' onClick='clear();'>
Этот код не будет работать, если пользователь не кликом мыши перейдет в текущий <INPUT type = "text">, а TAB'ом. ТОгда нада делать вот так:
Код:
<script>
var clear = function() {
  document.getElementById('text').value = '';
}
</script>

<input id='text' vaue='МНОГО ДАННЫХ' onFocus ='clear();'>
Так же на событие onBlur можно повесить функцию, которая будет проверять, ввел ли пользователь новое значение в поле и если нет, то она вернеет стандартное значение в это поле
 

viKing

Well-Known Member
Регистрация
18.04.2006
Сообщения
103
а если пользователь случайно фокус переведет на это поле? что заново заполнять?
и вообще не понятно, за что товарищ Nick просит пиво, так как получилась какое то несуразица.

Код:
<script>
var clear = function() {
  document.getElementById('text').value = '';
}
</script>

<input id='text' vaue='МНОГО ДАННЫХ' onClick='clear();'>
а если полей десять, то что писать десять функций? и каждый раз когда пользователь будет кликать по полю, например, что бы отредактировать данные или нечайно будет попадать мышкой, то данные будут удаляться?

самый простой вариант, без JavaScript
Код:
<form action="" method="get">
<input name="name" type="text" />
<input name="email" type="text" />

<input name="reset" type="reset" />
</form>
с JavaScript-м если Вы хотите очистить все поля, то надо пробежаться в цикле по всем <input type="text" /> и выставить value = ''
 

RoamingFire

Well-Known Member
Регистрация
04.01.2008
Сообщения
145
Кстате да... Я что-то об этом и не подумал, что поле будет чиститься всегда. Тогда тупо нужно добавить к INPUT аттрибут со стандартным текстом поля. И каждый раз при получении или потери фокуса брать значение аттрибута со стандартным текстом поля, и сверять Value и значения аттрибута... ну а дальше выполнять необходимые действия
 

ZitosS_32

Совесть
Регистрация
12.03.2006
Сообщения
852
Код:
function clear()
{
  var param = getElementById(arguments[0]);
  param.value = (arguments[1] != false) ? arguments[1] : "";
  
}
.......

<input id="inp1" type="text" onFocus="clear(this, 'inp1')" onBlur="clear(this, false)">
<input id="inp2" type="text" onFocus="clear(this, 'inp2')" onBlur="clear(this, false)">
 

Gaaarfild

Member
Регистрация
26.03.2008
Сообщения
19
А вот еще вопрос. Как можно сделать, чтобы, когда переходишь в поле формы, то над полем появляется подсказка. Когда убираешь фокус - пропадает.
 

Fliand

Well-Known Member
Регистрация
16.09.2007
Сообщения
81
Ну стили для слоя с подсказкой сам задашь.

Код:
<script type="text/javascript">
function show(id_layer) {
	document.getElementById(id_layer).style.display = "block";
}
function hide(id_layer) {
	document.getElementById(id_layer).style.display = "none";
}
</script>

--------------------------------

<form name="form1">
<div id="text_1" style="display: none;">Твоя подсказка</div>
<input type="text" onFocus="show('text_1')" onBlur="hide('text_1')">
</form>
 
Статус
Закрыто для дальнейших ответов.
Верх Низ