2017-01-25 101 views
0

我用jQuery替换了<form><input type='submit'>,所以我可以使用Ajax发送输入数据而不是重新加载页面。Chrome自动填充而不提交表单

这很好,但Chrome自动填充停止工作,我将需要。

简化我当前的代码版本:

<input type="text" id="field1"> 
<input type="button" id="send" value="Save"> 

的jQuery handeled:

$("#send").click(function() { 
    $.post('my.php', { 
     field1: field1 
    }); 
}); 

我怎样才能获得谷歌要记住在field1类型的值?

+0

使用ü任何PHP框架?如果你使用Codeigniter,那么你可以使用<?php echo set_value('inputname'); ?> – acmsohail

回答

1

您可以使用提交按钮的表单,所以Chrome可以自动填写表单,并且您可以在没有javascript激活的情况下为浏览器制作回退。您可以在X-Requested-With标题的值为XMLHttpRequest时检查此项。

例如,您可以发送ajax请求的json响应和未通过XHR请求该页面的较旧浏览器的html响应。

例jQuery的代码:

$("#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> 
+0

工作正常,非常感谢。 – Miklos