0

当我通过链接(调用submitlogin())提交表单时,它会返回一个 AJAX 错误,但如果我把它放在alert('hello')后面submitlogin(),它就可以工作。当我以这种方式触发提交时,似乎 AJAX 被调用了两次。谁能解释如何正确使用我的 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 回答