我已经用jQuery替换了我的<form>
和<input type='submit'>
,所以我可以使用Ajax发送输入数据而不是重新加载页面。
这很好用,但Chrome自动填充功能已停止工作,我需要这样做。
我当前代码的简化版本:
<input type="text" id="field1">
<input type="button" id="send" value="Save">
jQuery handeled:
$("#send").click(function () {
$.post('my.php', {
field1: field1
});
});
如何让Google记住field1
中输入的值?
答案 0 :(得分:2)
您可以使用带有提交按钮的表单,因此Chrome可以自动填充表单,您可以为没有激活javascript的浏览器进行后备。如果X-Requested-With
标头的值为XMLHttpRequest
,则可以检查此项。
例如,您可以发送ajax请求的json响应和未通过XHR请求页面的旧浏览器的html响应。
jQuery-Code示例:
$("#myForm").on("submit",function(e) {
if(everythingIsFine) {
// Send form via ajax to the backend
sendMyForm();
} else {
doSomeWarningsForUser();
}
// Prevent browser from submitting form
e.preventDefault();
}
你的HTML就像这样:
<form method="POST" action="/myAction/" id="myForm">
<input type="text" id="field1">
<button type="submit">Save</button>
</form>