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

HTML+CSS+JavaScript

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: подтверждение отправки формы

Сообщения:  [1-10]   [11-18] 

 
 автор: sim5   (19.12.2007 в 18:12)   письмо автору
 
   для: ronin   (19.12.2007 в 17:23)
 

Сколько раз вам повторять - пишите return false !

function Validator(theForm) { 
  var check = "";
  var warn = new Array();
  varn['name'] = "Поле имя не заполнено";
  varn['lastname'] = "Поле фамилие не заполнено";
  varn['password'] = "Поле пароль не заполнено";
  varn['email'] = "Поле e-mail заполнено не верно"; 
  for(i=0;i<theForm.length;i++) { 
    if (theForm[i].type=="text" && theForm[i].value=="") {
          check = theForm[i].name;
          break;
       } else if (theForm[i].name=="email" && !validateEmail(theForm[i]) {
          check = theForm[i].name;
          break;
       }  
    }
  } 
  if (!check) return true;
  else {
    alert(warn[check]);
    return false; 
  }
}

В этом же цикле можно прописать и проверку чекбоксов, но что к чему у вас - не понятно.
В форме делайте вызов функции так: onsubmit="Validator(this.elements)"

   
 
 автор: ronin   (19.12.2007 в 17:23)   письмо автору
 
   для: sim5   (19.12.2007 в 17:17)
 


function Validator(theForm)
{

  if (theForm.name.value == "")
  {
    alert("имя!");
    theForm.name.focus();
    return (false);
  }


  if (theForm.lastname.value == "")
  {
    alert("фамилия!");
    theForm.lastname.focus();
    return (false);
  }
  if (theForm.password.value == "")
  {
    alert("пароль!");
    theForm.password.focus();
    return (false);
  }
     if (!validateEmail(theForm.email.value))
  {
    alert("мыло не той системы!");
    theForm.password.focus();
    return (false);
  }

 for(i=0;i<theForm.length;i++){
    if(theForm[i].type=="checkbox" && theForm[i].checked)
        return true;
}
alert ("ничего не выбрано!");




  return (true);

}

   
 
 автор: sim5   (19.12.2007 в 17:17)   письмо автору
 
   для: ronin   (19.12.2007 в 17:09)
 

Вы думаете кому-то будет интересно разбираться с &#226;&#226;&#229;&#241;&#242;&#232; &#232;&#236;&#255; ?

   
 
 автор: ronin   (19.12.2007 в 17:09)   письмо автору
 
   для: sim5   (19.12.2007 в 16:55)
 

Прошу прошение, но у меня пробелы в познаниях, привожу функцию полностью:
function Validator(theForm)
{

if (theForm.name.value == "")
{
alert("&#194;&#251; &#228;&#238;&#235;&#230;&#237;&#251; &#226;&#226;&#229;&#241;&#242;&#232; &#232;&#236;&#255; !");
theForm.name.focus();
return (false);
}


if (theForm.lastname.value == "")
{
alert("&#194;&#251; &#228;&#238;&#235;&#230;&#237;&#251; &#226;&#226;&#229;&#241;&#242;&#232; &#244;&#224;&#236;&#232;&#235;&#232;&#254; !");
theForm.lastname.focus();
return (false);
}
if (theForm.password.value == "")
{
alert("&#194;&#251; &#228;&#238;&#235;&#230;&#237;&#251; &#226;&#226;&#229;&#241;&#242;&#232; &#239;&#224;&#240;&#238;&#235;&#252; !");
theForm.password.focus();
return (false);
}
if (theForm.password.value == "")
{
alert("&#194;&#251; &#228;&#238;&#235;&#230;&#237;&#251; &#226;&#226;&#229;&#241;&#242;&#232; &#239;&#224;&#240;&#238;&#235;&#252; !");
theForm.password.focus();
return (false);
}
if (!validateEmail(theForm.email.value))
{
alert("&#194;&#251; &#228;&#238;&#235;&#230;&#237;&#251; &#226;&#226;&#229;&#241;&#242;&#232; &#239;&#240;&#224;&#226;&#232;&#235;&#252;&#237;&#251;&#233; &#253;&#235;&#229;&#234;&#242;&#240;&#238;&#237;&#237;&#251;&#233; &#224;&#228;&#240;&#229;&#241; !");
theForm.password.focus();
return (false);
}

for(i=0;i<theForm.length;i++){
if(theForm[i].type=="checkbox" && theForm[i].checked)
return true;
}
alert ("&#205;&#232;&#247;&#229;&#227;&#238; &#237;&#229; &#226;&#251;&#225;&#240;&#224;&#237;&#238;!");




return (true);

}

   
 
 автор: sim5   (19.12.2007 в 16:55)   письмо автору
 
   для: ronin   (19.12.2007 в 16:43)
 

Вы так думаете, что роли не играет? Если у вас одно поле в форме, то:

function Validator(theForm) {  
  if (theForm.name.value == "") {  
    alert("Вы не заполнили поле имя!");  
    theForm.name.focus();  
    return false;  
  } else { 
    alert('Отправлять?');
    return true;
  }  
}

И этого будет достаточно, но если у вас несколько полей, да плюс еще, например, чекбоксы, которые тоже надо проверить, то картина совсем другая. Вам написали првильно - return true, вы пишете return (true), и даже после того как вас поправили, вы продолжаете писать глупость. Запомните return true и return false - не надо скобок.

   
 
 автор: ronin   (19.12.2007 в 16:43)   письмо автору
 
   для: sim5   (19.12.2007 в 16:30)
 

мне только дописать в функцию, что если юзер нажал сабмит и все поля заполнены(если какоето поле не заполнено - это из другой оперы и сейчас роли не играет)то выскакивает alert: Вы уверены, что нужно отправить форму? после подверждения форма передается обработчику.

   
 
 автор: sim5   (19.12.2007 в 16:30)   письмо автору
 
   для: ronin   (19.12.2007 в 16:19)
 

Надо отметить, что форма оригинальная! И что в ней проверять?

   
 
 автор: ronin   (19.12.2007 в 16:19)   письмо автору
 
   для: sim5   (19.12.2007 в 14:14)
 

форма

<form enctype="multipart/form-data"  name="forma" action="index.php?action=send" onsubmit="return Validator(this)" method="post" >                                          
<input type="submit" name="submit" value="submit" >


файл .js

function Validator(theForm) 


  if (theForm.name.value == "") 
  { 
    alert("Вы не заполнили поле имя!"); 
    theForm.name.focus(); 
    return (false); 
  } 

  return (true); 



   
 
 автор: sim5   (19.12.2007 в 14:14)   письмо автору
 
   для: ronin   (19.12.2007 в 14:04)
 

А чем вам помочь, форма ваша, код ваш, никто кроме вас его не видел. Да и ничего сложного в этом нет, все складывается из обычных if ... else. Если проверка заполнения вашей формы, это одна функция, то объявите в ней переменную, например:
var check = true;
Если при проверке заполнения формы будет обнаруженно не заполненное поле, то устанавливайте эту переменную в false. По окончании проверки заполнения, проверяйте эту переменную, и если она равна true, выводите свой вопрос пользователю.

   
 
 автор: ronin   (19.12.2007 в 14:04)   письмо автору
 
   для: sim5   (19.12.2007 в 13:55)
 

Поэтому и прошу помощи, заранее благодпрен!

   

Сообщения:  [1-10]   [11-18] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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