Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проверка заполнения полей формы (https://javascript.ru/forum/misc/45844-proverka-zapolneniya-polejj-formy.html)

danik.js 19.03.2014 10:48

Работает только в новых браузерах. Выглядит в каждом браузере по-своему.
<!DOCTYPE HTML>
 
<html>
 
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>
 
<body>
<form action="index.php" method="post">
<div id="contact-form">
        <div>
            <label for="fio" class="label">Ваше имя</label>
            <input type="text" value="" name="fio" id="fio" class="w-460" required="required" title="Введите имя" />
        </div>
        <div>
            <label for="phone" class="label">Телефон</label>
            <input type="text" value="" name="phone" id="phone" class="w-460" />
        </div>
 
            <input id="submit-form" type="submit" value="Оформить заказ" />
</div>
</form>
 
</body>
 
</html>

sanika 09.10.2014 22:22

Подскажите где ошибка :-?

<input name="tel_1_1"  oninput="checkField()" type="text" id="tel_1_1" value="1" style="width:300px;background:#FFEEEE" />
<input name="tel_1_2"  oninput="checkField()" type="text" id="tel_1_2" value="2" style="width:300px;background:#FFEEEE" />
<input name="tel_1_3"  type="text" id="tel_1_3" value="3" style="width:300px;background:#FFEEEE" />
<script language="javascript">
function checkField () {

if (this.value =="") {
 this.style = "background:#FFEEEE";
} else {
 this.style = "background:#FFFFFF";
}
}</script>
Задача - менять фон в определенных полях, в зависимости от заполнения или наоборот очищении. т.е. пустое поле будет розовое, а полное с белым фоном

рони 09.10.2014 22:30

sanika, читайте документацию
http://learn.javascript.ru/styles-an...#style-csstext
Цитата:

Свойство style является специальным объектом, ему нельзя присваивать строку.

sanika 09.10.2014 22:52

<input name="tel_1_1"  oninput="checkField()" type="text" id="tel_1_1" value="1" style="width:300px;background:#FFEEEE" />
<input name="tel_1_1"  oninput="checkField()" type="text" id="tel_1_2" value="2" style="width:300px;background:#FFEEEE" />
<input name="tel_1_1"  oninput="checkField()" type="text" id="tel_1_3" value="3" style="width:300px;background:#FFEEEE" />
<script language="javascript">
function checkField () {

if (this.value =="") {
 this.style.background = 'red';
} else {
 this.style.background = 'white';
}
}</script>


все-равно не работает мне кажется проблем в обращении this.value, но как правильно сделать?

kostyanet 09.10.2014 22:52

Цитата:

Сообщение от sanika
т.е. пустое поле будет розовое,

Подпишите внизу: разработано в секретных лабораториях Космополитена.

Цитата:

if (this.value =="") {
Не будет работать, this будет window. this надо биндить до того как, в инлайне

oninput=checkField(this)

писать без кавычек, ибо с кавычками - димедрол.

А в функции сделать приемник для this, который и будет референсом на элемент

function checkField(elem) { // this became elem

  if(elem.length < 3)
    alert('Минимум три символа!!!');

}

kostyanet 09.10.2014 22:57

Или без кавычек димедрол?

Короче проверьте какой димедрол - то не делайте.

sanika 09.10.2014 22:58

спасибо, все получилось

danik.js 10.10.2014 05:52

sanika, нужно не стиль менять, а класс. А уже в css файле классам назначить цвета. Это общепризнанная практика.

Владимир77777777777 30.10.2014 20:56

где пишется емеил куда приходит это всё

danik.js 30.10.2014 20:57

Куда засабмитишь форму туда и придет)


Часовой пояс GMT +3, время: 09:09.