С Новым годом! Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/91: Рейтинг темы: голосов - 91, средняя оценка - 4.73
6 / 6 / 1
Регистрация: 31.01.2012
Сообщений: 134

Проверка правильности введенных данных

23.11.2012, 19:58. Показов 18592. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Имеется лаба:
Задача 3.1. Создайте сайт из двух страниц.Первая страница имеет заголовок Заказ мебели. На ней расположены два поля со списками (теги <SELECT>), поле (<INPUT>) и кнопка (<SUBMIT>). Из первого поля со списком пользователь выбирает изделие (шкаф, стол, сервант и т.д.).Из второго поля со спискомпользователь выбирает материал (дуб,орех, бук). В третье поле нужно ввести количество заказываемых изделий. После ввода данных необходимо проверить, все ли данные введены.Если обнаружена ошибка, то нужно вывести сообщение и предложить её исправить. Правильно введённые данные нужно отправить на веб-сервер.Вторая страница содержит написанный на PHPскрипт, с помощью которого формируется следующее сообщение:


Ваш заказ принят
Заказано изделие – название заказанного изделия
Материал – заказанный материал
Количество – заказанное количество

С HTML и JS только начинаю знакомиться, возник следующий вопрос:
1) Подскажите пожалуйста как правильно в функции checkValues_() проверить введены какие-либо данные или нет?

Вот код который написал я:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<html>
<title>Лаб 4.JS</title>
<body>
    <script type="text/javascript">
        function checkValues_()
        {
 
        }
    </script>
 
        <h1>Заказ мебели</h1>
 
        <form name = "order">
            Выберите изделие:
        <select name ="type">
            <option value="cabinet">Шкаф</option>
            <option value="table">Стол</option>
            <option value="sideboard">Сервант</option>
            <option value="chair">Стул</option>
        </select>
 
        <br /> Выберите материал:
        <select name ="type">
          <option value="oak">Дуб</option>
          <option value="nut">Орех</option>
          <option value="beech">Бук</option>
      </select>
 
           <br /> Введите количество:
          <input type="text" name="number"><br />
            <input type="submit" value="Заказать" onclick="checkValues_()">
        </form>
</body>
</html>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.11.2012, 19:58
Ответы с готовыми решениями:

Проверка введенных данных
Добрый день.вопрос состоит в том что нужно нужна функция на javascript для проверки ФИО. То есть если что то введено неправильно то...

Проверка введенных в форму данных на стороне клиента
Всем привет! У меня примитивный вопрос, но ответ хотелосьбы услышать. в общем, следующее. Я хочу организовать проверку введенных в...

Проверка на совпадение введенных данных (логин и пароль)
function proverka() { var lg = document.forma.lg.value var ps = document.forma.ps.value if ((lg=='123') and (ps=='321')) ...

13
z-z
170 / 169 / 56
Регистрация: 22.06.2011
Сообщений: 980
23.11.2012, 21:07
наверно как то так
только id="number" прописать для поля))
JavaScript
1
2
3
4
if(document.getElementById("number").value != "")
{
//что делать, если поле не пустое
}
хотя по моему легче черех php проверить)
1
6 / 6 / 1
Регистрация: 31.01.2012
Сообщений: 134
23.11.2012, 21:14  [ТС]
z-z, Спасибо) а с выводом в php можете помочь? совсем чуууууть чуть)
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
23.11.2012, 21:14
ошибки:
1. первый и второй <select>'ы имеют одинаковое имя, а должны иметь разные

2. тег <title> как и блок <script></script> должны находиться в заголовке страницы, т.е. между тегами <head> и </head>, а у вас вообще заголовка нет

3. самым первым тегом в заголовке (ещё до <title>) должна быть указана кодировка документа, чтобы не было "кракозяблов" на странице

4. проверка правильности заполнения формы по заданию подразумевает, что в случае неверного заполнения отправка данных на сервер будет отменена
вызов этой функции по нажатию кнопки сабмита не может приостановить отправку
вызывать функцию надо по событию onsubmit тега <form>, при этом надо, чтобы функция возвращала либо true - если всё ОК, либо false - если есть ошибка заполнения
------

замечания:
1. в первом и во втором <select>'е по умолчанию будут выбраны первые в них теги <option> - в вашем случае "Шкаф" и "Дуб"
это может привести к "неосознанному" выбору
поэтому лучше убрать тексты "Выберите..." и заменить их <option>'ами с предложением "Выбрать"
тогда пользователь обязан будет сделать осознанный выбор, да и функции проверки будет что проверять

2. использование одиночного <br /> для разделения элементов формы приводит к "слипанию" списков, поля ввода и кнопки
лучше использовать тег <p>

3. если уж пытаетесь следовать требованиям формата XHTML, то следуйте ему везде - все теги, не имеющие специального закрывающего тега, должны "закрываться" слешем, а не только тег <br />
в вашем случае это оба <input>'а
-----

бонус:
с учетом того, что регулярные выражения вы ещё явно не проходили, а вот методы indexOf () и charAt () уже должны были, сделал самую примитивную проверку на то, что в поле "количество" введено целое положительное число

Кликните здесь для просмотра всего текста
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Лаб 4.JS</title>
<script type="text/javascript">
function checkValues_ (product, material, number)
{
if (product.value == 'sel0')  {alert ('Не выбрано изделие');      product.focus ();  return false}
if (material.value == 'sel0') {alert ('Не выбран материал');      material.focus (); return false}
if (number.value === '')      {alert ('Не указано количество');   number.select ();  return false}
 
if (number.value === '0')     {alert ('Изделий должно быть > 0'); number.select ();  return false}
var validCharacters = '1234567890';
for (var j = 0, txt = number.value, lj = txt.length; j < lj; j++)
   if (validCharacters.indexOf (txt.charAt (j)) < 0)
                              {alert ('Недопустимые символы');    number.select ();  return false}
return true;
}
</script>
</head> 
<body>
<h1>Заказ мебели</h1>
 
<form name="ordr" onsubmit="return checkValues_ (ordr.prdt, ordr.mtrl, ordr.nmbr)">
   <select name="prdt">
      <option value="sel0"     >Выберите изделие:</option>
      <option value="cabinet"  >Шкаф</option>
      <option value="table"    >Стол</option>
      <option value="sideboard">Сервант</option>
      <option value="chair"    >Стул</option>
   </select>
<p>
   <select name="mtrl">
      <option value="sel0" >Выберите материал:</option>
      <option value="oak"  >Дуб</option>
      <option value="nut"  >Орех</option>
      <option value="beech">Бук</option>
   </select>
</p>
<p>
   Введите количество: <input name="nmbr" />
</p>
<p>
   <input type="submit" value="Заказать" />
</p>
</form>
</body>
</html>
1
6 / 6 / 1
Регистрация: 31.01.2012
Сообщений: 134
23.11.2012, 21:18  [ТС]
kalabuni, блииин, жесть спасибо огромное! Буду разбираться, для меня пока что код тяжеловат)
А можно один вопрос по php задать?
0
z-z
170 / 169 / 56
Регистрация: 22.06.2011
Сообщений: 980
23.11.2012, 21:22
kalabuni, по моему этот код не для мегапортала готовится)) для новичка вполне сойдет...


!Андрей!, в чем помочь? проверить?

PHP
1
2
3
4
if( isset($_POST["number"])
{
//код, который работает, если поле с name="number" заполнено
}
тут даже id не надо присваивать))
1
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13440 / 7534 / 829
Регистрация: 09.09.2009
Сообщений: 29,554
23.11.2012, 21:41
Цитата Сообщение от kalabuni Посмотреть сообщение
вызов этой функции по нажатию кнопки сабмита не может приостановить отправку
HTML5
1
onclick="return some_function();"
если функция возвращает false, сабмит не происходит
1
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
23.11.2012, 22:48
Dmitry, точно, что-то меня переклинило
0
0 / 0 / 0
Регистрация: 18.10.2019
Сообщений: 29
26.04.2020, 19:27
Здравствуйте, вы можете конкретно объяснить/показать код PHP?

Для этого примера конкретно.
0
 Аватар для PeterLS
71 / 69 / 22
Регистрация: 24.11.2012
Сообщений: 502
Записей в блоге: 1
27.04.2020, 08:16
Riba_molod, для какого примера? Задайте конкретный вопрос - вам обязательно помогут.
0
0 / 0 / 0
Регистрация: 18.10.2019
Сообщений: 29
27.04.2020, 10:21
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Лаб 4.JS</title>
<script type="text/javascript">
function checkValues_ (product, material, number)
{
if (product.value == 'sel0')  {alert ('Не выбрано изделие');      product.focus ();  return false}
if (material.value == 'sel0') {alert ('Не выбран материал');      material.focus (); return false}
if (number.value === '')      {alert ('Не указано количество');   number.select ();  return false}
 
if (number.value === '0')     {alert ('Изделий должно быть > 0'); number.select ();  return false}
var validCharacters = '1234567890';
for (var j = 0, txt = number.value, lj = txt.length; j < lj; j++)
   if (validCharacters.indexOf (txt.charAt (j)) < 0)
                              {alert ('Недопустимые символы');    number.select ();  return false}
return true;
}
</script>
</head> 
<body>
<h1>Заказ мебели</h1>
 
<form name="ordr" onsubmit="return checkValues_ (ordr.prdt, ordr.mtrl, ordr.nmbr)">
   <select name="prdt">
      <option value="sel0"     >Выберите изделие:</option>
      <option value="cabinet"  >Шкаф</option>
      <option value="table"    >Стол</option>
      <option value="sideboard">Сервант</option>
      <option value="chair"    >Стул</option>
   </select>
<p>
   <select name="mtrl">
      <option value="sel0" >Выберите материал:</option>
      <option value="oak"  >Дуб</option>
      <option value="nut"  >Орех</option>
      <option value="beech">Бук</option>
   </select>
</p>
<p>
   Введите количество: <input name="nmbr" />
</p>
<p>
   <input type="submit" value="Заказать" />
</p>
</form>
</body>
</html>
Для этого примера, мне нужен вывод реализованный через PHP
0
 Аватар для PeterLS
71 / 69 / 22
Регистрация: 24.11.2012
Сообщений: 502
Записей в блоге: 1
27.04.2020, 11:02
Riba_molod, нет-нет, вы меня неправильно поняли. «Сделайте работу за меня» — тут так не работает и вряд ли кто-то за это возьмётся. Такие услуги предоставляются за деньги на специальных площадках. Покажите что вы уже реализовали, какие наброски. И задайте конкретный вопрос. Например, «не могу сообразить почему у меня такая-то ошибка», или «я сделал так, так и так, а как реализовать вот этот кусок не знаю».

Да и вопрос «нужно вывод реализованный через php» очень уж размыт.
0
0 / 0 / 0
Регистрация: 18.10.2019
Сообщений: 29
27.04.2020, 11:03
хорошо, спасибо
0
 Аватар для PeterLS
71 / 69 / 22
Регистрация: 24.11.2012
Сообщений: 502
Записей в блоге: 1
27.04.2020, 11:04
И обратились вы не по адресу. Здесь обсуждается JavaScript.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.04.2020, 11:04
Помогаю со студенческими работами здесь

Проверка правильности заполнения формы
Задача реализовать проверку правильности заполнения формы средствами JavaScript. Поле ВУЗ (текстовое поле): КузГТУ или КемГУ или НГТУ ...

Проверка правильности и доступности URL
Подскажите, как сделать на Javascript проверку правильности адреса. Имметься ввиду не только синтаксис, но и реальное сущестование страницы...

Проверка правильности ввода в форму
Есть форма text. Нужно проверить, правильно ли введены данные в эту форму, например имя (может содержать только буквы). Пример: ...

Проверка введенных символов и подсчет количества введенных символов
вобщим есть код программы который не до конца работает суть кода в том что в поле вводится текст с цыфрами и должен проверить и подсчитать...

Проверка правильности заполнения формы на стороне клиента
Здравствуйте помогите написать код и вставить его в эту форму для проверки правильности заполнения формы на Javascript(на свой вкус) . ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru