Ajax登录表单-浏览器赢得';不保存密码
我有一个Ajax登录表单,它检查给定的凭据是否正确,并重定向到另一个页面。登录表单本身是通过HXR调用生成的-它不是在登录页面代码中生成的 问题是我无法让浏览器提示记住密码。一旦我让Firefox提示,但由于表单是通过XHR调用构建的,Firefox没有将值粘贴到表单中 另外,当登录成功时,我正在使用mootools(Form.send)和通常的window.location。 PSS。登录页面的地址始终相同 以下代码由元素中的XHR加载(我使用的是MochaUI): JavaScript:Ajax登录表单-浏览器赢得';不保存密码,ajax,forms,mootools,Ajax,Forms,Mootools,我有一个Ajax登录表单,它检查给定的凭据是否正确,并重定向到另一个页面。登录表单本身是通过HXR调用生成的-它不是在登录页面代码中生成的 问题是我无法让浏览器提示记住密码。一旦我让Firefox提示,但由于表单是通过XHR调用构建的,Firefox没有将值粘贴到表单中 另外,当登录成功时,我正在使用mootools(Form.send)和通常的window.location。 PSS。登录页面的地址始终相同 以下代码由元素中的XHR加载(我使用的是MochaUI): JavaScript: $
$('loginwindow_form').set('send', {
"url": "auth/ajax_login",
"method": "post",
"onRequest": function () {
$("loginWindow_spinner").show();
},
"onComplete": function (response) {
$("loginWindow_spinner").hide();
},
"onSuccess": function (responseText, responseXML) {
window.location = "appinit";
},
"onFailure": function (xhr) {
MUI.notification('onFailure');
}
});
$("loginwindow_form").addEvent("submit", function (e) {
!e || e.stop();
$('loginwindow_form').send();
});
xHTML(请注意,表单没有submit按钮-按钮在别处,并且有onclick操作来发送具有给定ID的表单):
发送按钮(在另一个xhr加载的元素中):
登录
你真的应该发布代码。在您的回调中执行。发送
,这很好。不过,您首先需要发布如何处理表单和发起提交
它的工作方式是,如果您拦截表单的
submit
方法,但是如果您--比如说,有一个带有单击处理程序的按钮,它将不会被视为提交,因此它不会记住任何东西。另外,您是否正在执行事件.stop
或.preventDefault
我建议您使用传统的sumbit表单,但提交到隐藏的iframe中。(或者登录表单本身可以在iframe中)。这样,您仍然可以将JS响应发送回iframe,iframe将被执行,浏览器将知道这是一个登录表单。我也在寻找解决方案。你找到了吗?
<iframe src="auth/blank" id="blankiframe" name="blankiframe" style="display:none"></iframe>
<form action="appinit" method="post" name="loginwindow_form" id="loginwindow_form" class="standardform" target="blankiframe">
<input type="text" name="email" class="input text" id="loginwindow_form_email" />
<input type="password" name="password" class="input text password" id="loginwindow_form_loginwindow_form_password" />
</form>
<button class="button" action="{sendForm: 'loginwindow_form'}">
<div class="accept">Login</div>
</button>