Проверка формы с помощью jquery (ajax), проблема с капчей - PullRequest
0 голосов
/ 21 июля 2011

Ну, я немного застрял при использовании jquery, ajax и Zend Framework вместе взятых. Я нашел хороший учебник по http://www.zendcasts.com/ajaxify-your-zend_form-validation-with-jquery/2010/04/, Я сделал несколько тестов и все заработало, проблема в том, что значение капчи меняется с каждым пост-запросом (также токен csrf), как проверить валидацию в формах данных, а не в полях капчи?

В настоящее время я подумал, чтобы использовать метод isValidPartial () и изменить форму.

1 Ответ

0 голосов
/ 21 июля 2011

Я изучил этот урок.Файл index.phtml, проверочный раздел кода

function doValidation(id)
{
    var url = '/index/validateform'
    var data = {};
    $("input").each(function()
    {
        data[$(this).attr('name')] = $(this).val();
    });
    $.post(url,data,function(resp)
    {
        $("#"+id).parent().find('.errors').remove();
        $("#"+id).parent().append(getErrorHtml(resp[id], id));
    },'json');
}

Видите ли, строка

$("input").each(function() { ... })

проходит по входам формы, чтобы получить данные из них (и отправить их для проверкизатем).Селектор является «входным», вам нужно переписать его, чтобы он не соответствовал элементу капчи.Я не знаю, что html отображается для формы в вашем приложении, но, учитывая, что входные данные формы обычно имеют атрибут «id», вы можете изменить селектор на «input [id! = Captcha_input_id]», где «captcha_input_id»идентификатор пропускаемого входа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...