リンクを介してフォームを送信すると ( を呼び出す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');
}