jquery $ («# form»). Submit () не вызывается

У меня есть форма на странице, которая требует капча, если в базе данных установлен атрибут заблокированного пользователя.

$("#expressform").submit(function() {
    if($("#op").val() == "")
            return false;
    if($("#tagbar").val() == "")
            return false;
    $.post("getallowed.php", function(data) {
            if(data == "true")
                    submitNormal();
            else if(data == "false"){
                    displayCaptcha();
            }
    });
    return false;
});

Если пользователю не разрешено, вызывается функция displayCaptcha вместо простой отправки формы.

function displayCaptcha(){
    $.post("expresscaptcha.php", function(data) {
            var string = data;
            $("#expressformdiv").html(string);
            Recaptcha.create("xxxxxxxxxxx", "captcha",
                    {
                            theme: "red",
                            callback: Recaptcha.focus_response_field
                    }
            );
    });
}

Эта функция отправляет сообщение в скрипт php, который возвращает новый тип формы, которая возвращает html для новой формы с идентификатором expressformcaptcha. Вот php-скрипт.

<?php
echo <<<_END
<form id="expressformcaptcha">
    //other form elements
    <div id="captchadiv"><div id="captcha"></div></div>
</form>
_END;
?>

Все это работает нормально, отображается капча и т. д. Однако нижеследующее предупреждение никогда не вызывается. Почему?

$("#expressformcaptcha").submit(function() {
    alert("FORM SUBMITTED");
});

Имеется ли какое-то отношение к тому, что здесь есть капча, которая завинчивает jquery? При отправке формы вместо предупреждения страница просто обновляется.

0
задан MEURSAULT 21 October 2011 в 21:11
поделиться