微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – jQuery自动完成:点击返回提交表单

我正在使用jQuery Autocomplete插件.

// I'm not sure if there's a better way to do this

var base_url = window.location.href.slice(0,window.location.href.indexOf('/bar'));
$('.foo-widget').find('input:first-child').autocomplete(base_url + "/api/baz?format=newline");

标记

<ul class="foo-widget">
    <li>
        <input value="" autocomplete="off" class="ac_input"><input value="" autocomplete="off" class="ac_input"><button>Add</button>
   </li>
</ul>

这很好用.但是,当我点击“输入”从自动填充结果中选择一个项目时,表单会提交.为什么会发生这种情况?

我查看了jquery.autocomplete.js并看到以下内容正在执行:

case KEY.RETURN:
            if( selectCurrent() ) {
                // stop default to prevent a form submit,Opera needs special handling
                event.preventDefault();
                blockSubmit = true;
                return false;
            }
            break;

event.preventDefault()和blockSubmit = true不应该停止提交表单吗?我在页面上其他地方的JS代码是否可能会干扰?

解决方法

我建议在Autocomplete元素上添加一个按键事件,然后从中返回false.它不会影响您以后提交表格其余部分的能力.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐