当我在键盘上按下Enter键时,它会提交表单而不通过javascript?

问题描述:

当我按下键盘上的输入/返回键时,它会提交表单,而不会通过表单的提交按钮中的javascript函数。当我在键盘上按下Enter键时,它会提交表单而不通过javascript?

我想按下键盘命令时,但我认为这将需要时间。

那么,有没有简短的方法呢?就像表单/按钮中的事件一样?

任何答案都会有所帮助。 谢谢。

PS:对不好的解释抱歉。

+6

以及HTML/java脚本在哪里? – 2012-03-03 03:00:38

假设“你的JavaScript函数”被分配给提交按钮的click处理程序,这很明显为什么它不起作用:你没有单击提交按钮。处理表单提交的代码应该放在表单的submit处理程序中。它将从提交按钮和回车键中触发。

一个更重要的信息:您的处理程序必须返回false或致电preventDefault关于事件;如果你不这样做,表单在你的代码退出后仍然会提交。

+0

返回false;无效.'function submitControl(){ \t dlemployee_cert(); \t return false; }' – 2012-03-03 03:59:52

+2

然后你搞砸了别的东西,而我不是通灵。通过@MishaTs查看本页面上最高评价的内容。另外,“不起作用”是对问题最糟糕的描述。你有没有尝试我的三个建议,或只是'返回false'?哪种具体方式不起作用?你有错误信息吗?无论如何你仍然收到提交吗?你有没有尝试在函数的顶部放置一个'alert(“test”)'来查看它是否全部输入?编辑:哪里调用你的函数的HTML,或JS绑定事件? – Amadan 2012-03-03 04:06:28

+0

我将函数转换为'onSubmit'事件。我知道我做错了什么,我忘了返回函数();在事件中。抱歉,添麻烦了。 – 2012-03-03 04:18:27

看看文档:

你可以做这样的事情:

HTML

<form id="form" action="process.htm"> 
    <input id="name" type="text" value="Joe" /> 
    <input type="submit" value="Say hi" /> 
</form> 

的JavaScript

$('#form').submit(function() { 
    alert('Hi there, ' + $('#name').val()); 

    // If you uncomment the below, it will submit 
    return false; // Prevent submit 
}); 

如果需要,return false将阻止它在您的JavaScript提交功能完成后提交。

活生生的例子:

希望这有助于。

处理函数分配给该形式 onsubmit-

<form name="forma" onsubmit="validate()" 

这可能是因为你的JavaScript函数中包含一些错误。要查看是否存在一些JavaScript错误,请查看Chrome控制台Ctrl + Shift + i