Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проблема с проверкой формы 
:(
    Опции темы
andtim
Дата 29.5.2006, 00:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 28.5.2006
Где: Belarus

Репутация: нет
Всего: нет



Есть проблемка следующего плана.
Написал скрипт проверки формы на введенные данные:
Код

function ver(f) {
var msg;
var err="";
var result;
for(var i = 0; i < f.length; i++) {
 var e = f.elements[i]
   if ((e.type == "text") || (e.type == "textarea")) {
     if ((e.value == null) || (e.value == "")) {
       if(e.name == "from") {e.name = "От кого"}
       if(e.name == "email") {e.name = "E-mail"}
       if(e.name == "tema") {e.name = "Тема"}
       if(e.name == "text") {e.name = "Сообщение"}
     err += "поле \"" + e.name + "\" - не заполнено \n";
       continue;
     }
   }
 }
if (err) {
  msg = "Ошибка ввода данных!!! \n";
  msg += "_____________________________ \n\n";
  msg += err + "\n";
  msg += "_____________________________ \n";
  msg += "www.andtim.com";
  alert(msg);
  return false;
}
else {
  f.name = "f1";
  document.f1.action = "mail.php";
  return true;
}
}

и вот сама форма 
Код

    <form action="mail.php" method="get" onsubmit="return ver(this);" >
      <table class="t_obr">
       <tr>
          <td>От кого <b>*</b></td>
          <td><input type="text" value="" name="from" /></td>
       </tr>
       <tr>
          <td>E-mail <b>*</b></td>
          <td><input type="text" value="" name="email" /></td>
       </tr>
       <tr>
          <td>Тема <b>*</b></td>
          <td><input type="text" value="" name="tema" /></td>
       </tr>
       <tr>
          <td>Сообщение <b>*</b></td>
          <td><textarea cols="" rows="" name="text"></textarea></td>
       </tr>
       <tr>
          <td colspan="2" class="obas"><b>*</b> - Поля обязательные для заполнения</td>
       </tr>
       <tr>
          <td colspan="2"><input type="submit" value="Отправить" class="but" /></td>
       </tr>

      </table>
    </form>

Вопрос таков... Если в веденных данных была обнаружена ошибка, то выскакивает сообщение об ошибке, и после редактирования на емейл не отправляется измененное значение поля... А если сразу все данные введены верно, то все работает как нужно... Т.е. получается такая ситуация, что данные из формы берутся при первом же нажатии на кнопку отправить, а не после того как скрипт проверит наличие данных.
Как решить эту проблемку?...  Сам скрипт лежит здесь
P.S. Сильно не судите в JS не акти, но скрипт писал сам...  smile  
PM MAIL WWW ICQ   Вверх
Vaulter
Дата 29.5.2006, 08:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1724
Регистрация: 30.12.2002
Где: бункер

Репутация: 1
Всего: 22



могу предположить, что onsubmit <вырезано модератором>
и ввести onClick на сабмит баттону. 


M
Aliance
Первое замечание!
 

Это сообщение отредактировал(а) Aliance - 29.5.2006, 09:57


--------------------
PM MAIL WWW ICQ   Вверх
dstorm81
Дата 29.5.2006, 09:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


бездельник
***


Профиль
Группа: Завсегдатай
Сообщений: 1178
Регистрация: 18.1.2006
Где: (16RU)

Репутация: 20
Всего: 39



Код

<form onsubmit="if(!window.confirm('send?'))return false;" action='guestadm.phtml' method='post'>
<input type=submit value='send'>
</form>


как один из множества вариантов решения этой проблемы 


M
Aliance
Пользуемся кнопкой код!
 

Это сообщение отредактировал(а) Aliance - 29.5.2006, 09:58


--------------------
на форуме с 8.12.2002 (http://forum.vingrad.ru/index.php?act=ST&f=10&t=4874&st=0#)

PM   Вверх
Aliance
Дата 29.5.2006, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Лучше проверять регами все же:
http://forum.vingrad.ru/index.php?showtopic=36336 

Либо универсальной и оригинальной проверкой:
http://forum.vingrad.ru/index.php?showtopic=51826 

Это сообщение отредактировал(а) Aliance - 29.5.2006, 09:59
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0655 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.