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

HTML+CSS+JavaScript

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

 

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

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

тема: Jquery & PHP
 
 автор: damlex   (15.12.2009 в 12:52)   письмо автору
 
 

Подскажите как получить ответ от сервера в виде массива ошибок то есть вместо showErrors(response.errors) (функция ошибок) должно отображаться $errors(из php)


JQuery
function showErrors(errors)
{
showResult('<ul class="result"><li>' + errors.join('</li><li>') + '</li></ul>');

$('#sub .result')
.idle(3000)
.animate({ height: 'hide', opacity: 'hide' }, speed, function()
{
$('#sub-submit button').removeAttr('disabled');
$(this).remove();
});
}




$.post('podpiska.php', $('#sub-form').serialize(), function(response)
            {
                if (response.errors)
                {
                    showErrors(response.errors);
                }
                else if (response.success)
                {
                    showSuccess(response.success);

                    $('#sub-submit button')
                        .text('Спасибо!')
                        .attr('disabled', 'disabled')
                        .addClass('disabled');
                }




PHP код
 
 if (!preg_match("/^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-]+)*\.([a-zA-Z]{2,6})$/i", $mail))
 {
     $err[]="Проверьте, правильно ли заполнено поле e-mail. Пример username@domain.com";     
 }
 if (!preg_match("/^([a-zA-Z0-9а-яА-Я]+)$/i", $name)) 
 {
     $err[]="Проверьте, правильно ли заполнено поле имя. Может содержать только русские, английские буквы и цифры";
 }

 if (!empty($err)) 
 {
     foreach($err as $errors)
     
     echo $errors;
     

  Ответить  
 
 автор: sim5   (15.12.2009 в 13:35)   письмо автору
 
   для: damlex   (15.12.2009 в 12:52)
 

Как текст с последующим split на клиенте, а если непосредственно массив, то в JSON формате.

  Ответить  
 
 автор: DAmlex   (15.12.2009 в 14:05)   письмо автору
 
   для: sim5   (15.12.2009 в 13:35)
 

Можно чуть подробнее про split или json, желательно с кодом примера или что почитать.


 json_decode()
 json_encode()



Чтобы не создавать еще тему вопрос в xamp (запущен локально) ругается на json_encode() хотя в php.ini прописан модуль

  Ответить  
 
 автор: sim5   (15.12.2009 в 14:56)   письмо автору
 
   для: DAmlex   (15.12.2009 в 14:05)
 

split, это метод аналогичный функции РНР explode. То есть вы передаете строку, которую в последствии разделяете по символу. А json, это передаете упакованный массив. Можно это сделать функцией, о которой можете почитать здесь. Для принятия этого формата в jquery есть функции. Можете и сами сделать его преобразование:
var val = eval('('+response+');');
где response ответ сервера в JSON формате.

Про xamp ничего сказать не могу, однажды помучился, плюнул и установил Денвер, мне его хватает на все 100.

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

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