大多数与ajax结合使用的表单用户可能已经注意到,用户提交的输入在后续会话中不能被浏览器保存或建议。这在“登录”页面上是一个缺点。浏览器通常会提供保存用户名/密码的选项,非常方便,但是通过ajax表单提交....呃,你知道的,这根本不会发生。
我已经在这里看到了这个问题两次,但仍然没有答案。距离提问已经有大约9个月了,我知道这里有很多聪明的人。那么...我们该怎么解决这个问题呢? 我们能以某种方式欺骗浏览器吗?
我愿意来回协商解决这个问题,因为我知道对我们所有人来说拥有一个可用的解决方案会很好。
从slashingweapon的答案得出的最终解决方案(感谢你!):
HTML-使用自定义按钮进行提交,以及没有表单“action”或“method”,只有ajax。
我已经在这里看到了这个问题两次,但仍然没有答案。距离提问已经有大约9个月了,我知道这里有很多聪明的人。那么...我们该怎么解决这个问题呢? 我们能以某种方式欺骗浏览器吗?
我愿意来回协商解决这个问题,因为我知道对我们所有人来说拥有一个可用的解决方案会很好。
从slashingweapon的答案得出的最终解决方案(感谢你!):
HTML-使用自定义按钮进行提交,以及没有表单“action”或“method”,只有ajax。
<form id="signin">
<label for="username">Username</label>
<input type="text" id="username" name="username" />
<label for="password">Password</label>
<input type="password" id="password" name="password" />
//Custom Styled Submit Button
<img id="submit" class="form_button" src="btn_txt_sign_in.png" alt="Sign In" tabindex="3" />
//Hidden Standard Form Submit Button
<input id='trigger' type='submit' style='display:none;' />
</form>
JQuery
// Bind a click to the Custom Submit Button
$('#submit').click( function() {
//Trigger a Click on the Hidden Standard Form Submit
$('#trigger').click();
});
// Detect when the form attempts to be submitted
$('#signin').submit( function(e){
// Prevent Standard Form Submission
e.preventDefault();
// Perform Function containing Ajax Submission instead
submit_signin();
});
// Ajax Submission
function submit_signin() {
//My Ajax Call....
}