Chrome自动填充无需提交表单

时间:2017-01-25 06:45:13

标签: jquery html ajax google-chrome

我已经用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中输入的值?

1 个答案:

答案 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>