0

我有 25 个组件,其中包括 [textarea、textfile、radio、combo 等...],并且我编写了一个关键事件,以便在输入“ENTER”时,我调用一个将提交页面的函数。

现在,当我按 Enter 键时,我的页面正在提交,即使在不应该的文本区域中也是如此。那么,如果在文本区域中按下页面,是否有任何方法无法提交页面?

这只发生在 IE7 和 IE8 中;它在所有其他浏览器中都能正常工作。

4

4 回答 4

0

您是否将“关键事件”附加到整个表单?整个 DOM?如果你这样做了,那是正常的行为。

如果您希望“Enter 键”在焦点位于提交按钮上时提交页面,然后在 onsubmit 事件中应用此功能 - 当然您可以执行您需要的所有验证。如果您只想从文本区域中排除回车键事件 - 执行一个简单的检查,如果焦点在当前的文本区域中。

于 2009-10-28T09:00:49.077 回答
0

表单的默认行为是提交,如果用户在表单内点击输入,除非焦点在文本区域,所以你想要的是默认行为。删除当前处理表单按键的任何代码,您将拥有所需的内容。

于 2009-10-28T09:08:56.627 回答
0

您可能会检测到是否有任何文本区域等未填写/emtpy/unset。如果所有这些都正确填写,请发送表格。

于 2009-10-28T07:11:43.867 回答
0

我不确定这是否适合您的需求,但您可以使用以下内容禁用 textarea 内的 enter 键:

$(document).ready(function(){
 $('textarea').keypress(function(e){
  var key = (window.event) ? e.keyCode : e.which;
  if ( key == 13 ) {
   return false;
  } else {
   return true;
  }
 })
})
于 2009-10-28T15:06:25.740 回答