Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Предварительная проверка при вводе данных
 
 автор: Владимир55   (16.12.2012 в 14:18)   письмо автору
 
 

Ввод информации производится вот в такую форму:

 <form method="POST" action="w-6.php">   
<input name="producer">
<input name="artikul">
<input name="name_tov">
<input type=submit value="Найти">
</form> 

В обработчике w-6.php производится обработка информации, которой предшествует проверка двух обстоятельств:
1. Форма не пустая
2. Хотя бы в одной введенной строке больше двух знаков.

<?php  
// Проверка правильности заполненя формы
if ((!$producer) AND (!$artikul) AND (!$name_tov)) die ("Не заданы условия поиска");
if ((
strlen($producer) < 3) AND (strlen ($artikul) < 3) AND (strlen ($name_tov) < 3)) die ("Мало знаков");
 
   
// ОБРАБОТКА РЕЗУЛЬТАТОВ ВВОДА


Можно ли эту проверку осуществлять до отправки информации в обработчик, без перезагрузки страницы?

  Ответить  
 
 автор: Deed   (16.12.2012 в 17:58)   письмо автору
 
   для: Владимир55   (16.12.2012 в 14:18)
 

http://jsfiddle.net/kilotonna/DpPec/1/

  Ответить  
 
 автор: Гавриленко Дмитрий   (16.12.2012 в 18:11)   письмо автору
 
   для: Deed   (16.12.2012 в 17:58)
 


var all=prod+''+art+''+nam+'';

гениально!

  Ответить  
 
 автор: Deed   (16.12.2012 в 18:18)   письмо автору
 
   для: Гавриленко Дмитрий   (16.12.2012 в 18:11)
 

Можно и без: http://jsfiddle.net/kilotonna/DpPec/4/

  Ответить  
 
 автор: Владимир55   (16.12.2012 в 20:24)   письмо автору
 
   для: Deed   (16.12.2012 в 18:18)
 

ОЧЕНЬ здорово получилось, спасибо!

Есть только один нюанс: в скрипте вслед за этой формой будет идти другая форма, поэтому
<!--Выводим кнопку из формы, чтобы не писать всяких return false-->
не очень хорошо.

Не могли бы Вы вернуть кнопку в форму?

  Ответить  
 
 автор: Deed   (16.12.2012 в 20:38)   письмо автору
 
   для: Владимир55   (16.12.2012 в 20:24)
 

Незачем. Кнопка привязана к id первой формы. Пропишите его там.

  Ответить  
 
 автор: Владимир55   (17.12.2012 в 10:34)   письмо автору
 
   для: Deed   (16.12.2012 в 20:38)
 

1. Не понял, как это сделать. В форме id="my_form", а в инпуте id="sbm". Как и что следует прописать?

2. Вот такая запись внутри таблицы верна?
     <tr bgcolor="#CC3399">
    <div id="alrt"></div>
    <form id="my_form" method="POST" action="/detal/w-6.php">   <!— Начало формы поиска -->
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td><input name="producer"       style="width: 100%"></td>
        <td nowrap><input name="artikul" style="width: 100%"></td>
        <td><input name="name_tov"       style="width: 100%"></td>
    </form>
        <td colspan="4"><input id="sbm" type=submit value="Найти"></td>  <!— Конец формы поиска -->
     </tr>

3. Поскольку инпуты находятся в таблице, то при выводе сообщеня таблица отпрыгивает вниз, что не очень хорошо.
Можно ли устранить этот дефект?

  Ответить  
 
 автор: Deed   (17.12.2012 в 14:02)   письмо автору
 
   для: Владимир55   (17.12.2012 в 10:34)
 

Все правильно.
По id="sbm" мы обращаемся к кнопке. А событие "submit", то есть - отправку данных, по клику на кнопке с id="sbm" мы привязываем именно к этой (и только!) форме:

$('#my_form').submit();

То есть, в момент клика по нашей кнопке (и только по ней!), после проверки условий, производится отправка данных только из формы с id="my_form", и другие формы с другими id затронуты не будут.

Ну, а чтобы "не отпрыгивала", навскидку два варианта:
http://jsfiddle.net/kilotonna/DpPec/5/
и
http://jsfiddle.net/kilotonna/DpPec/6/

  Ответить  
 
 автор: Владимир55   (17.12.2012 в 16:24)   письмо автору
 
   для: Deed   (17.12.2012 в 14:02)
 

Я так понимаю, что во втором варианте стили в CSS уже можно не указывать?

  Ответить  
 
 автор: Deed   (17.12.2012 в 18:45)   письмо автору
 
   для: Владимир55   (17.12.2012 в 16:24)
 

Угу

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования