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
Форумы портала PHP.SU :: Версия для печати :: Форма PHP+AJAX+JQUERY
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » Форма PHP+AJAX+JQUERY

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

1. crazylex2005 - 25 Июня, 2011 - 23:52:42 - перейти к сообщению
Добрый день! Всем заранее спасибо,кто прочитает и может поможет. Делаю форму по этому примеру
http://tutorialzine[dot]com/2010/04/[dot][dot][dot]bon-signup-form/
Хочу слегка модифицировать,хочу чтобы по завершения проверки формы вместо перенаправления(как в статье) эти данные вылезали в блоке вверху страницы(AJAX без перезагрузки),как например вылезают блоки с ошибкой

Модифицированный JS CODE:
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. // Issuing a POST ajax request to submit.php (the action attribute of the form):
  3.                 $.post($('#signupForm').attr('action'),$('#signupForm').serialize()+'&fromAjax=1',function(response){
  4.                        
  5.                         if(!response.status)
  6.                         {
  7.                                 // Some kind of input error occured
  8.                                
  9.                                 // Looping through all the input text boxes,
  10.                                 // and checking whether they produced an error
  11.                                 $('input[type!=submit]').each(function(){
  12.                                         var elem = $(this);
  13.                                         var id = elem.attr('id');
  14.                                        
  15.                                         if(response[id])
  16.                                                 showTooltip(elem,response[id]);
  17.                                 });
  18.                         }
  19.                         else {
  20.                                 $(response.html).hide().insertBefore('#signupForm').slideDown(900);
  21.                                 $('#body').val('');}
  22. }
  23.  
  24.  

PHP:
скопировать код в буфер обмена
  1.  
  2. Модифицированный PHP:
  3.  
  4. if($_POST['fromAjax'])
  5. {
  6.         if(count($errors))
  7.         {
  8.                 $errString = array();
  9.                 foreach($errors as $k=>$v)
  10.                 {
  11.                         // The name of the field that caused the error, and the
  12.                         // error text are grouped as key/value pair for the JSON response:
  13.                         $errString[]='"'.$k.'":"'.$v.'"';
  14.                 }
  15.                
  16.                 // JSON error response:
  17.                 die     ('{"status":0,'.join(',',$errString).'}');
  18.         }
  19.                
  20. function markup($name,$email,$pass){
  21.                 return '
  22.                         <div class="comment" id="new">
  23.                                 <div class="name">'.$name.'</div>
  24.                                 <div class="date" title="Added at '.$email.'</div>
  25.                                 <p>'.$pass.'</p>
  26.                         </div>
  27.                 ';
  28. };
  29.         // JSON success response.
  30.         echo json_encode(array('status'=>1,'html'=>markup($_POST['name'],$_POST['email'],$_POST['pass'])));
  31.  
  32.         exit;
  33. }
  34.  

Мне кажется дело в // JSON success response. Видно что то не так передаю или делаю. Заранее спасибо!
2. Саныч - 26 Июня, 2011 - 00:41:12 - перейти к сообщению
crazylex2005 пишет:
Добрый день!
Ночь уже!
crazylex2005 пишет:
чтобы по завершения проверки формы вместо перенаправления эти данные вылезали в блоке вверху страницы
А что собственно не понятно то? Удаляете перенаправление, вместо него пишите что вам нравиться...
Где конкретный вопрос?

 

Powered by ExBB FM 1.0 RC1