我有25个组件,包括[textarea,textfile,radio,combo等...],我写了一个关键事件,这样当输入“ENTER”时,我会调用一个提交页面的函数。 / p>
现在,当我按下回车键时,我的页面会被提交,即使在不应该的文本区域中也是如此。那么,如果在文本区域中按下页面,我是否有任何方式无法提交页面?
这仅在IE7和IE8中发生;它在所有其他浏览器中都能正常工作。
答案 0 :(得分:0)
你可能会检测到是否填写了任何textarea等/ emtpy / unset。如果所有这些都填写正确,请发送表格。
答案 1 :(得分:0)
您是否将“关键事件”附加到整个表单?整个DOM?如果你这样做是正常的行为。
如果您希望“焦点”在焦点位于提交按钮时提交页面,则在onsubmit事件中应用此功能 - 当然您可以执行所需的所有验证。 如果您只想从文本区域中排除回车键事件 - 请执行简单检查焦点是否位于momemnt的textarea中。
答案 2 :(得分:0)
如果用户在表单内部输入,除非焦点位于textarea上,表单的默认行为是提交,因此您需要的是默认行为。删除当前处理表单按键的任何代码,您将拥有所需的代码。
答案 3 :(得分:0)
我不确定这是否符合您的需求,但您可以使用以下内容禁用textarea中的回车键:
$(document).ready(function(){
$('textarea').keypress(function(e){
var key = (window.event) ? e.keyCode : e.which;
if ( key == 13 ) {
return false;
} else {
return true;
}
})
})