【问题标题】:Set an image button to fire when enter key is pressed设置按下回车键时触发图像按钮
【发布时间】:2010-01-06 21:25:42
【问题描述】:

显然,我知道如何在 ASP.NET Web 表单中使用 DefaultButtons 来执行此操作。但是,我们的客户端开发人员编写代码的方式是,他有一个通过 javascript 完成的提交按钮:

所以 javascript 正在渲染 HTML。

<img id="submitBMI" onclick="quizCalc(); return false;" class="btnHover" src="Submit.gif">

有没有办法让它成为默认按钮?

谢谢大家。

【问题讨论】:

  • 在文本框内按下回车键后提交给方法 quizCalc() 是什么?如果是这样,它是否适用于任何不同的浏览器?

标签: html defaultbutton


【解决方案1】:

如果您要调用 quizCalc() 方法,例如,在该表单的文本框中按下 Enter 键,那么您可以设置表单的 onsubmit 处理程序来调用该方法:

<form ... onsubmit="quizCalc(); return false;">

如果您想要更多地控制哪些输入元素调用该方法,那么您可以考虑将 onkeypress 与单个处理程序 onKeyPress(event) 一起使用,查看similar question

更新

您可以按照乔纳森所说的做,但只需删除 return false,因为这会取消按键向文本框添加字符。

document.onkeydown = function(e)
{
  var keyCode = document.all ? event.keyCode : e.which;
  if(keyCode == 13) quizCalc(); 
}

【讨论】:

  • 嗯,似乎没有这样做。
  • 另外,如果您使用 onsubmit 表单,请确保删除与 [Enter] 键 (keyCode 13) 相关的任何 onkeydown/onkeypress/onkeyup 代码,因为我相信 onsubmit 比捕获更有意义页面上任意位置的键,只是我的 2c
【解决方案2】:

假设您没有使用 js 库,如果在页面上的任意位置按下 enter,这将起作用:

document.onkeydown = function KeyDown(e)
{
  var keyCode = document.all ? event.keyCode : e.which;

  if(keyCode == 13) {
    quizCalc(); 
    return false;
  }
}

【讨论】:

  • 我在页面的某些部分使用 jquery。这不起作用,它不允许我在文本框中实际输入文本。
  • 愚蠢的我。您实际上想先在表单中输入数据,不是吗?已更新。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多