0

リンクを介してフォームを送信すると ( を呼び出すsubmitlogin())、AJAX エラーが返されますが、 のalert('hello')後に置くsubmitlogin()と機能します。この方法で送信をトリガーすると、AJAX が 2 回呼び出されたように見えます。私のAJAXフォームのリンクフォーム送信を正しく使用する方法を誰かが説明できますか?

私のフォーム:

<form id="loginForm" name='loginForm' class=" clean" action="{$base_url}/login" method="post">
    <input  type="text" name="Username" id="Username" class=" field"  value="" size="23" />
    <input  type="password" name="Password" id="Password" class="field"  size="23" />
    <input type="submit" name="submit" id="loginsubmit"  class="button icon-signin" value="Login" style="float:left;" />
    <a href=""  onclick="submitlogin();"  >Login</a>
</form>

私のjQueryフォームの検証:

$('#loginForm').validationEngine({ajaxFormValidation: true,
    ajaxFormValidationURL :BASE_URL+"login/submit/",
    onAjaxFormComplete: function(status, form, json, options)
    {
        if(status && json.false==null) // no error messages
        {
            window.location=BASE_URL;
        }
    },
    onBeforeAjaxFormValidation: beforeCall
});

送信buttonを手動でクリックすると、上記は正常に機能します。しかし、 をクリックするlinkと失敗します。のさまざまなバージョンを試しましたがsubmitlogin()、すべて失敗しました。

// 1
function submitlogin()
{
    $('#loginForm').validationEngine('triggersubmit');
    return false;
}    

// 2
function submitlogin()
{
    $('#loginForm').submit();
}       

// 3
function submitlogin()
{
    $('#loginForm').trigger('submit');
}
4

1 に答える 1

0

次のことを試してみるとよいと思います。

$("#login_link").click(function() {

    $('#loginForm').validationEngine({ajaxFormValidation: true,
        ajaxFormValidationURL :BASE_URL+"login/submit/",
        onAjaxFormComplete: function(status, form, json, options)
        {
            if(status && json.false==null) // no error messages
            {
                window.location=BASE_URL;
            }
        },
        onBeforeAjaxFormValidation: beforeCall
    });

});

あなたのリンクはどこ#login_linkですか:

<form id="loginForm" name='loginForm' class=" clean" action="{$base_url}/login" method="post">
    <input  type="text" name="Username" id="Username" class=" field"  value="" size="23" />
    <input  type="password" name="Password" id="Password" class="field"  size="23" />
    <input type="submit" name="submit" id="loginsubmit"  class="button icon-signin" value="Login" style="float:left;" />

    <!-- YOUR LINK "#login_link" -->
    <a href="" id="login_link" >Login</a>

</form>

これがうまくいくことを願っています。相手の結果を教えてください。

于 2012-09-17T01:04:34.353 に答える