使用链接触发时,jQuery验证引擎不工作
当我通过链接(调用使用链接触发时,jQuery验证引擎不工作,jquery,triggers,click,submit,jquery-validation-engine,Jquery,Triggers,Click,Submit,Jquery Validation Engine,当我通过链接(调用submitlogin())提交表单时,它会返回一个AJAX错误,但是如果我在submitlogin()之后放置alert('hello'),它会工作。当我以这种方式触发提交时,AJAX似乎被调用了两次。有人能解释一下如何正确使用AJAX表单的链接表单提交吗 我的表格: <form id="loginForm" name='loginForm' class=" clean" action="{$base_url}/login" method="post">
submitlogin()
)提交表单时,它会返回一个AJAX错误,但是如果我在submitlogin()
之后放置alert('hello')
,它会工作。当我以这种方式触发提交时,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>
$('#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
});
当我手动单击submit按钮时,上面的工作正常。但是当我点击链接时,它失败了。我尝试了不同版本的submitlogin()
,都失败了
// 1
function submitlogin()
{
$('#loginForm').validationEngine('triggersubmit');
return false;
}
// 2
function submitlogin()
{
$('#loginForm').submit();
}
// 3
function submitlogin()
{
$('#loginForm').trigger('submit');
}
我想你可以试一下:
$("#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>
希望这对你有用。让我知道你的成绩,伙计。那不行。我以前试过。它基本上是重新启动的。它抛出了ajax错误,我无法阻止它。似乎有两个调用要转到服务器,但我找不到如何进行。因为当我提交它时,验证表单并抛出错误。如果我在submit方法中放入警报…它将处理错误,并立即切换到我的主页。我的问题是,还有一个来自提交跳过验证的ajax调用,它不发送数据,基本上失败了。我想看到任何人成功地使用了submit.FIXED链接。错误在HTML中。href=“”基本上是双重提交。替换为href=“javascript:void(0);”。工作正常。