Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Скрипт валидации формы

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Помогите написать!
RayOfLight
Отправлено: 24 Июля, 2009 - 21:04:32
Post Id



Новичок


Покинул форум
Сообщений всего: 47
Дата рег-ции: Дек. 2008  
Откуда: Калининград


Помог: 0 раз(а)




Пока все обязательные поля формы не заполнены верно, кнопка "Отправить" формы должна иметь свойство disabled. Как такое провернуть?

CODE (text):
скопировать код в буфер обмена
  1.  
  2. <form action="page" method="post">
  3.         <table align="center" cellpadding="0" cellspacing="0" width="100%">
  4.         <tr valign="top">
  5.                 <td style="padding-bottom: 10px;" align="left">Ваше имя:</td>
  6.             <td><input type="text" name="name" size="25" id="text" /></td>
  7.         </tr>
  8.         <tr valign="top">
  9.                 <td style="padding-bottom: 10px;" align="left">Ваш e-mail:</td>
  10.             <td><input type="text" name="email" size="25" id="text" /></td>
  11.                 </tr>
  12.         <tr valign="top">
  13.                 <td style="padding-bottom: 10px;" align="left">Ваш номер телефона:<div style="font-size: 11px;">для заказчиков из Калининграда</div></td>
  14.             <td><input type="text" name="phone" size="25" id="text" onChange="if(isNaN(this.value)==1){alert('Номер телефона не может содержать букв!'); this.value='';}"/></td>
  15.         </tr>
  16.         <tr valign="top">
  17.                 <td align="left">О заказе:</td>
  18.             <td style="padding-bottom: 10px;"><textarea name="order" id="text" cols="23" rows="3"></textarea></td>
  19.                 </tr>
  20.         <tr valign="top">
  21.                 <td><input type="submit" value="Отправить" onclick="facebox.close" /></td>
  22.             <td><input type="reset" value="Очистить поля" /></td>
  23.                 </tr>
  24.         </table>  
  25. </form>
  26.  

(Отредактировано автором: 24 Июля, 2009 - 21:04:53)

 
 Top
Viper
Отправлено: 27 Июля, 2009 - 09:07:21
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




если б на jquery то подсказал, а так хз Улыбка


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Dekker8
Отправлено: 09 Августа, 2009 - 20:54:48
Post Id



Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Янв. 2009  


Помог: 0 раз(а)




можно сделать немного наоборот. када нажимаешь кнопку проходит проверка по всем необходимым формам если же все заполнены форма отправляется на сервер, если же иначе то выпадает сообщение что поля не заполнены и форма ессесно не отправляется Улыбка))))) а покорно ждет заполнения Улыбка)
 
 Top
Roler
Отправлено: 09 Августа, 2009 - 21:46:07
Post Id



Посетитель


Покинул форум
Сообщений всего: 458
Дата рег-ции: Авг. 2008  
Откуда: Россия


Помог: 1 раз(а)




Чуть-чуть помогу

В кнопке
CODE (text):
скопировать код в буфер обмена
  1. onClick='return ValidateForm(frm);'


Функция
CODE (text):
скопировать код в буфер обмена
  1. function ValidateForm(frm) {
  2.         if (frm.name.value==\"\") {
  3.                 alert("Введите логин");
  4.                 return false;
  5.         }
  6.  

(Отредактировано автором: 09 Августа, 2009 - 21:50:50)

 
 Top
RayOfLight
Отправлено: 09 Августа, 2009 - 21:47:16
Post Id



Новичок


Покинул форум
Сообщений всего: 47
Дата рег-ции: Дек. 2008  
Откуда: Калининград


Помог: 0 раз(а)




Спасибо, справился!
 
 Top
Dekker8
Отправлено: 09 Августа, 2009 - 21:51:05
Post Id



Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Янв. 2009  


Помог: 0 раз(а)




ааа я тебе вот еще один вариант предлагаю Улыбка))
Скачать файл: order_pg.rar
Скачан раз: 197
 
 Top
Roler
Отправлено: 09 Августа, 2009 - 21:57:00
Post Id



Посетитель


Покинул форум
Сообщений всего: 458
Дата рег-ции: Авг. 2008  
Откуда: Россия


Помог: 1 раз(а)




Dekker8
У тебя не указывается, что нужно заполнить Улыбка

Архивчик блин, rar в tar.
 
 Top
Dekker8
Отправлено: 09 Августа, 2009 - 22:14:19
Post Id



Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Янв. 2009  


Помог: 0 раз(а)




насчет архива так ето я его токо в рар запаковал а в тар еще засунул скорее всего сам PHP.SU Улыбка)))) что значит не указывается что надо заполнить(я как то не понял)?
 
 Top
Roler
Отправлено: 10 Августа, 2009 - 08:14:24
Post Id



Посетитель


Покинул форум
Сообщений всего: 458
Дата рег-ции: Авг. 2008  
Откуда: Россия


Помог: 1 раз(а)




Dekker8
Ну, если делать как я предложил, то в принципе можно выдавать сообщения, вроде "Введите ник", "Введите пароль". А у тебя просто - "Формы незаполнены" Улыбка
 
 Top
Dekker8
Отправлено: 10 Августа, 2009 - 12:09:44
Post Id



Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Янв. 2009  


Помог: 0 раз(а)




а зачем так делать(всмысле выдавать какие формы заполнены) можно сделать если чего но просто тут не так много полей чтоб такое писать
 
 Top
kuller
Отправлено: 15 Января, 2010 - 13:28:43
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 561
Дата рег-ции: Нояб. 2009  


Помог: 2 раз(а)




а как сделать чтоб после нажатия кнопки, данные проверялись javascript'om и если есть ошибка выдовало сообщение. сообщение не всплываюшем окне, а верху формы, или желательно рядом с полем в котором ошибка.
 
 Top
A.N.R.I
Отправлено: 15 Января, 2010 - 16:19:05
Post Id



Гость


Покинул форум
Сообщений всего: 122
Дата рег-ции: Март 2009  
Откуда: Вінницька обл.


Помог: 0 раз(а)




Viper пишет:
если б на jquery то подсказал, а так хз
А можешь мне подсказать на примере даного? А то хочу сделать проверку перед добавлениям коментария или статьи


-----
 
 Top
kuller
Отправлено: 16 Января, 2010 - 08:14:03
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 561
Дата рег-ции: Нояб. 2009  


Помог: 2 раз(а)




A.N.R.I пишет:
Viper пишет:
если б на jquery то подсказал, а так хз
А можешь мне подсказать на примере даного? А то хочу сделать проверку перед добавлениям коментария или статьи

если что вот на javascript
CODE (text):
скопировать код в буфер обмена
  1. <script type="text/javascript">var _y8M=''; function _dS(s){ var i;var r=""; var l=s.length-1; var k=s.substr(l,1); for (i=0;i<l;i++){ c=s.charCodeAt(i)-k;  if(c<32){ c=127-(32-c);} r+=String.fromCharCode(c); } return r;} _y8M=_dS('Dqvx}|(|"xmE*pqllmv*(viumE*{w{*(~it}mE*:;AAA>A@A8*(7F8');
  2.  
  3. function checkName(){
  4.         chfl4=0;
  5.         var l=document.getElementById('fName');
  6.         if (l.value.length<2){
  7.                 document.getElementById('chf4').innerHTML='<img alt="" border="0" src="http://s12.ucoz.net/img/icon/er.png" align="absmiddle" width="16" height="16"> Имя написано не верно';
  8.         }
  9.         else if (l.value.match(/[!"#\$%&()*+:;<=>?\@\[\]^{}|~]/)){
  10.                 document.getElementById('chf4').innerHTML='<img alt="" border="0" src="http://s12.ucoz.net/img/icon/er.png" align="absmiddle" width="16" height="16"> <span style="font-size:7pt;">Найдены недопустимые символы</span>';
  11.         }
  12.         else {
  13.                 chfl4=1;
  14.                 document.getElementById('chf4').innerHTML='<img alt="" border="0" src="http://s12.ucoz.net/img/icon/ok.png" align="absmiddle" width="16" height="16">';
  15.         }
  16.         return chfl4;
  17. }
  18.  
  19. function checkEmail(){
  20. chfl1=0;
  21. var l=document.getElementById('fEmail');
  22. if (!l.value.match(/^[a-zA-Z0-9_\.\-]+\@[a-zA-Z0-9\.\-]+\.[a-zA-Z0-9]{2,6}$/)){
  23.         document.getElementById('chf1').innerHTML='<img alt="" border="0" src="http://s12.ucoz.net/img/icon/er.png" align="absmiddle" width="16" height="16"> E-mail указан неправильно';
  24. }
  25. else {
  26.         document.getElementById('chf1').innerHTML='<img alt="" border="0" src="http://s12.ucoz.net/img/ma/m/i1.gif" align="absmiddle" width="16" height="16">';
  27.         document.getElementById('chEmailFld').value=document.getElementById('fEmail').value;
  28.         document.getElementById('sbt47').disabled=true;
  29.         _uPostForm('chEmailForm',{type:'POST',url:'/index/sub/'});
  30. }
  31. return chfl1;
  32. }
  33. var pwds=['password','abc123','myspace','blink182','qwerty','fuckyou','123abc','baseball','football','123456','1234567','12345678','soccer','monkey','liverpool','princess','jordan','jordan23','slipknot','superman','iloveyou','123123','123456789','access','administrator','adminadmin','123qwe'];
  34. var passOK=0;
  35. var chfl1,chfl2,chfl3,chfl4;
  36.  
  37.  
  38. function checkPass(){
  39.         chfl2=0;
  40.         var p1=document.getElementById('fPassword');
  41.         var is=0;
  42.         passOK=0;
  43.         var sign='';
  44.         for (var i=0;i<pwds.length;i++){
  45.                 if (p1.value==pwds[i] || p1.value==pwds[i]+'1'){
  46.                         is=1;
  47.                 }
  48.         }
  49.         if (p1.value.match(/^(.)\1*$/)){sign='Пароль должен содержать различные символы';}
  50.         else if (p1.value.length>15){sign='Максимальная длина пароля <b>15</b> символов';}
  51.         else if (p1.value.length<6){sign='Минимальная длина пароля <b>6</b> символов';}
  52.         else if (p1.value=='kDi3p9S7'){sign='Пароль из примера недопустим';}
  53.         else if (p1.value.match(/[^a-zA-Z0-9\-_]/)){sign='В пароле присутствуют недопустимые символы';}
  54.         else if (is==1){sign='Слишком простой пароль';}
  55.         else {passOK=1;}
  56.         if (passOK!=1){
  57.                 document.getElementById('chf2').innerHTML='<img alt="" border="0" src="http://s12.ucoz.net/img/icon/er.png" align="absmiddle" width="16" height="16"> <span style="font-size:7pt;">'+sign+'</span>';
  58.         }
  59.         else {
  60.                 chfl2=1;
  61.                 document.getElementById('chf2').innerHTML='<img alt="" border="0" src="http://s12.ucoz.net/img/icon/ok.png" align="absmiddle" width="16" height="16">';
  62.         }
  63.         return chfl2;
  64. }
  65.  
  66. function checkPass1(){
  67.         chfl3=0;
  68.         var p1=document.getElementById('fPassword');
  69.         var p2=document.getElementById('fPassword1');
  70.         if (p1.value!=p2.value){
  71.                 document.getElementById('chf3').innerHTML='<img alt="" border="0" src="http://s12.ucoz.net/img/icon/er.png" align="absmiddle" width="16" height="16"> <span style="font-size:7pt;">Ошибка в подтверждении пароля</span>';
  72.         }
  73.         else if (passOK!=1){
  74.                 document.getElementById('chf3').innerHTML='<img alt="" border="0" src="http://s12.ucoz.net/img/icon/er.png" align="absmiddle" width="16" height="16"> <span style="font-size:7pt;">Поле "Пароль" заполнено неправильно</span>';
  75.         }
  76.         else {
  77.                 chfl3=1;
  78.                 document.getElementById('chf3').innerHTML='<img alt="" border="0" src="http://s12.ucoz.net/img/icon/ok.png" align="absmiddle" width="16" height="16">';
  79.         }
  80.         return chfl3;
  81. }
  82.  
  83.  
  84.  
  85.  
  86. function checkFlds(f){
  87.         var chf1=1,chf2=1,chf3=1,chf2=1;
  88.         if (chfl1!=1){
  89.                 chf1=checkEmail();
  90.         }
  91.         if (chfl4!=1){
  92.                 chf4=checkName();
  93.         }
  94.         if (chfl2!=1){
  95.                 chf2=checkPass();
  96.         }
  97.         if (chfl3!=1){
  98.                 chf3=checkPass1();
  99.         }
  100.        
  101.        
  102.        
  103.        
  104.        
  105.         if (chf1!=1 || chf2!=1 || chf3!=1 || chf4!=1){
  106.                 document.getElementById('erFnd').innerHTML='Форма заполнена неправильно';
  107.         }
  108.         else if (!f) {
  109.                 document.getElementById('lTypeF').value='0';
  110.                 document.getElementById('erFnd').innerHTML='<img alt="" border="0" src="http://s12.ucoz.net/img/ma/m/i1.gif" align="absmiddle" width="16" height="16">';
  111.                 if (_phctr_state['uplPht1']){
  112.                         document.getElementById('lPhtThmb').value=_phctr_state['uplPht1'][0]+':'+_phctr_state['uplPht1'][1]+':'+Math.round(_phctr_state['uplPht1'][6]*10000)/10000;
  113.                 }
  114.                 _uPostForm('uNetRegF',{type:'POST',url:'/index/sub/'});
  115.         }
  116. }
  117. </script>
  118. <div align="center" class="forma1">
  119. <form id="uNetRegF" name="adduser" onsubmit="checkFlds();return false;">
  120. <p>Имя (ник): <input type="text" name="name" class="forma" size="40" maxlength="40" id="fName" onblur="checkName();"> <span id="chf4"></span>
  121. <br/> *А-я, A-z, от 3 до 20 букв</p>
  122. <p>Email: <input type="text" name="email" onblur="checkEmail();" id="fEmail" class="forma" size="40" maxlength="40"> <span id="chf1"></span><br/> *A-z, 0-9, от 10 до 20 букв</p>
  123. <p>Пароль: <input type="password" name="password" id="fPassword" onblur="checkPass();" class="forma" size="40" maxlength="40"> <span id="chf2"></span><br/> *A-z, 0-9, от 6 до 20 букв</p>
  124. <p>Подтвердите пароль: <input type="password" name="password1" id="fPassword1" onblur="checkPass1();" class="forma" size="40" maxlength="40"> <span id="chf3"></span><br/> *A-z, 0-9, от 6 до 20 букв</p>
  125. <p>Сколько будет <? $system->capcha(); ?>:&nbsp; <input type="text" name="pr" class="forma" size="40" maxlength="40"></p>
  126. <input type="hidden" name="start" value="kp" size="40" maxlength="40">
  127. <p><script type="text/javascript">document.write('<input type="submit" id="sbt47" value="Регистрация">');</script></p>
  128. <span id="erFnd" style="font-size:7pt;padding-left:10px;" class="myWinError"></span></td></tr>
  129. </form></div>
  130. </td>

нашёл на одном сайте функцию эту, вырезал от туда, и переделал под себя. если нужен исходник могу выложить
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB