按设计我需要一个输入元素键入文本,但我不需要输入元素键入提交。一旦按下回车键,我想提交输入元素中写的内容。我将如何在JavaScript中做到这一点?我需要标签和其他东西,还是我可以没有它们(只使用)?脚本化HTML表单的输入元素?
回答
至少在Firefox中,按input[type=text]
元素中的输入将提交它。
看看JSBin。
你不需要使用JavaScript(可能在IE中,现在无法测试)。
另外,值得一提的是,所有表格应该有都有一个提交按钮。您将需要明确告诉用户推送回车。另外,没有输入按钮的设备呢?我听说Zune无法在没有按钮的情况下提交表单。
有人说异常是搜索输入框,就像堆栈溢出一样。不过,我认为它仍然可以受益于小型搜索按钮或类似。
你并不真的需要JavaScript。这应该各主要桌面浏览器(FF2-3,镀铬/铬,IE6-8,Opera6-10)工作:
<form action="/some/action" method="POST">
<input type="text" name="somefield">
</form>
按ENTER键在输入字段将提交表单如常。
注意事项:
- (鼠标)的用户会感到困惑 - 要确实创造的主要可用性问题?
- 残疾用户(例如,使用某种形式的屏幕阅读器)可能无法提交表单 - 如果公司是在美国,现在你有一个法律问题去与可用性问题
- 移动和/或异国情调的浏览器可能无法提交表格
对你指出的警告很有趣。非常有趣。那么,我非常关心这些问题。使用连接键盘的普通电脑 - 你很好。至于残疾用户,那么,我不处理那种人,所以...... =) – 2010-06-01 10:29:48
如果你不想要一个答案,那么你最好停止提问。另外,我还没有看到带有键盘的iPhone。现在很多东西都是“电脑”。 – Piskvor 2010-06-01 14:01:23
您可以观看按键事件并阅读特定元素上的键码,每当您收到“Enter”键时,您都可以触发提交。
function GetKeyCode(e) {
var code;
if (!e) var e = window.event;
if (e.keyCode) code = e.keyCode;
else if (e.which) code = e.which;
var character = String.fromCharCode(code);
alert('Character was ' + character);
}
但是,大多数浏览器会自动在“Enter”键上发布表单。
你不需要任何脚本。我有一个小钩子为你
<form id="form" action="action.php" method="get">
<input type="text" name="login" value="login" />
<input type="submit" value="submit" style="display: none;" />
</form>
style =“display:none;”是一个解决方案
如果使用@media选择器设置提交按钮的样式,那实际上可能会解决残疾和/或移动问题。 – Piskvor 2010-06-01 09:50:03
- 1. HTML文本框中输入VS CakePHP的AUTOMAGIC表单元素
- 2. html表单是否发布输入以外的元素的值?
- 3. html表单元素
- 4. 重置HTML表单中的特定输入元素
- 5. 如何隐藏和显示表单的输入元素在HTML
- 6. 无法使用CSS格式化HTML表单元素(标签和输入)
- 7. 自定义表单元素脚本
- 8. 在html表单元素中限制输入
- 9. 使用数据填充HTML输入表单元素
- 10. 表单输入元素和宽度
- 11. 隐藏输入(html表单确认) - 服务器端脚本? (php)
- 12. Web表单/ CGI脚本:用户输入“word”,IFrame显示“word”.html
- 13. HTML脚本元素本地主机URI
- 14. jQuery脚本之前的HTML元素
- 15. 的JavaScript更改HTML元素的输入
- 16. HTML表单输入和帮助文本
- 17. HTML逻辑表单元素
- 18. HTML 5表单元素值
- 19. HTML表单元素到URL
- 20. 展开表单元素html
- 21. 无法在HTML表单的输入字段中输入文本
- 22. HTML - 输出文本的哪个元素?
- 23. 相同的DOM元素插入输入元素后验证表单
- 24. 使用用户输入的文本设置html元素的CSS
- 25. Javascript简单的脚本,用于更改输入值<a>名称元素
- 26. HTML输入表单css
- 27. HTML表单输入 - 选择
- 28. HTML表单输入更新
- 29. HTML输入表单样式
- 30. 将html表单输入映射到新形成的元素内的javascript对象
我同意一个小按钮是建议。 – picknick 2010-06-01 09:43:11
是啊,亚历克斯,搜索输入框是什么。另外,我看过它是如何在SO上实现的 - 并且没有(甚至是隐藏的)按钮。 (尽管他们有形式标签。) – 2010-06-01 10:35:50