Javascript 在防止默认表单行为时获取自动完成/建议的输入

Javascript 在防止默认表单行为时获取自动完成/建议的输入,javascript,jquery,ajax,forms,Javascript,Jquery,Ajax,Forms,有趣的bug似乎仅限于IE和Webkit。 我有一个基本的表单设置: <div id="output">Form output is displayed here</div> <form id="myForm" action="#" method="post"> <input type="text" name="username" id="usernameInput" /> <input type="submit" value="Submi

有趣的bug似乎仅限于IE和Webkit。 我有一个基本的表单设置:

<div id="output">Form output is displayed here</div>

<form id="myForm" action="#" method="post">
<input type="text" name="username" id="usernameInput" />
<input type="submit" value="Submit" />
</form>
现在,当我提交表单时,output div会更新,但是我之前输入到表单中的值不会被存储,在您键入时也不会给出任何建议


有没有人能创造性地解决这个问题?也许(吞咽)iframe?

IE和WebKit只记住正常提交的值,而且由于您是通过AJAX提交的,这些引擎不记得这些值。我不会使用iframe,而是使用jQuery插件来实现自动完成,比如。当然,使用该解决方案,您需要维护一个用户过去键入内容的列表,这应该不会太难。

在控制提交中使用这些修改进行测试:

$('#myForm').submit(function (e) {
    e.stopPropagation();
    $('#output').html($("#usernameInput").val() + "<br />");
});
$('#myForm')。提交(函数(e){
e、 停止传播();
$(“#输出”).html($(“#用户名输入”).val()+“
”; });
从jQuery事件处理程序返回false与调用preventDefault()和stopPropagation()相同。在不调用preventDefault()的情况下,表单以页面刷新方式提交=[是的,很遗憾,这可能是我唯一的选择。不过,谢谢!
$('#myForm').submit(function (e) {
    e.stopPropagation();
    $('#output').html($("#usernameInput").val() + "<br />");
});