这里有趣的错误似乎仅限于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>
现在如果我只是通过正常的页面刷新提交表单,下次我在输入字段中键入文本时,我将获得浏览器的默认自动建议下拉列表(这是预期的行为)。但是,如果我为了进行AJAX提交而高举表单提交行为:
$('#myForm').submit(function () {
$('#output').text($('usernameInput').val());
return false;
});
现在,当我提交表单时,输出div会更新,但是我输入到表单中的先前值不会被存储,并且在您键入时不会提出任何建议。
有没有人有这个问题的创意解决方案?也许是( gulp )iframe?
答案 0 :(得分:1)
IE和WebKit只记住正常提交的值,并且由于您是通过AJAX提交的,因此这些引擎不记得这些值。我会使用jQuery插件来代替iframe,而不是this one。当然,使用该解决方案,您需要维护一个用户过去输入的内容列表,这应该不会太难。
答案 1 :(得分:0)
在控制提交中对这些修改进行测试:
$('#myForm').submit(function (e) {
e.stopPropagation();
$('#output').html($("#usernameInput").val() + "<br />");
});