JavaScript检测按键上下文(表单历史记录选择与表单提交)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JavaScript检测按键上下文(表单历史记录选择与表单提交),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1296字,纯文字阅读大概需要2分钟。
内容图文
![JavaScript检测按键上下文(表单历史记录选择与表单提交)](/upload/InfoBanner/zyjiaocheng/670/36e8b3ef84c647ddb3f289f915d823ec.jpg)
我正在使用jQuery编写半通用表单插件,以加快我正在从事的项目的开发.
计划是jTemplates模板包含这些字段,我的插件会在模板中查找以找到任何必需的多语言资源,从服务器请求它们,然后将所有内容打包到JavaScript对象中,然后将其传递给自定义函数“提交”.
一切工作正常,除了伪造表单时需要执行的标准“在按下Enter键时,提交表单”代码外:
opts.coreElement.find('input[type=text]').keypress(function(evt) {
if ((evt.keyCode || evt.which) == 13) {
opts.coreElement.find('.saveButton').click();
}
});
问题在于,在Firefox中(至少,我还没有检查其他浏览器),如果您之前在类似名称的文本框中输入了信息,则可以获取表单历史记录.如果然后通过按Enter键选择那些建议值之一,它将提交表单.如果您在页面的第一个输入上,那就不好了.实际上,确实很烦.
显而易见的解决方案似乎是在字段周围插入表单元素,并停止通过jQuery提交此虚拟表单的任何可能的方法.幸运的是,当我使用ASP.NET MVC时,我可以做到这一点,但是如果没有,该怎么办?如果我的插件不知道它是否已经存在于表单中,因此必须保持自身状态怎么办?如果我在标准WebForms ASP.NET中并且必须将每个输入的返回键手动“定位”到正确的提交按钮,该怎么办?
有没有一种方法可能通过事件对象本身来检测按键的上下文,因此可以筛选出表单历史记录项的选择?
解决方法:
将文本字段中的自动完成属性设置为关闭:
opts.coreElement.find('input[type=text]').each(function() {
$(this).attr('autocomplete', 'off');
});
这适用于所有主要浏览器(Safari,Firefox,IE).
内容总结
以上是互联网集市为您收集整理的JavaScript检测按键上下文(表单历史记录选择与表单提交)全部内容,希望文章能够帮你解决JavaScript检测按键上下文(表单历史记录选择与表单提交)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。