内容
.on( "submit" [, eventData ], handler )返回值: jQuery
描述: 将事件处理程序绑定到“submit”事件。
此页面描述了 submit
事件。有关已弃用的 .submit()
方法,请参见 .submit()
。
当用户尝试提交表单时,submit
事件将发送到元素。它只能附加到 <form>
元素。表单可以通过单击显式的 <input type="submit">
、<input type="image">
或 <button type="submit">
提交,也可以通过在某些表单元素获得焦点时按 Enter 提交。
根据浏览器的不同,Enter 键可能只在表单只有一个文本字段时才会导致表单提交,或者只有在存在提交按钮时才会导致表单提交。界面不应该依赖于此键的特定行为,除非通过观察 Enter 键的按键事件来强制执行此问题。
例如,考虑以下 HTML 代码:
1
2
3
4
5
6
7
|
|
事件处理程序可以绑定到表单:
1
2
3
4
|
|
现在,当表单提交时,会弹出消息。这发生在实际提交之前,因此我们可以通过在事件对象上调用 .preventDefault()
或从处理程序返回 false
来取消提交操作。当另一个元素被点击时,我们可以手动触发事件:
1
2
3
|
|
执行完此代码后,点击 触发处理程序 也会显示消息。此外,表单上的默认 submit
操作将被触发,因此表单将被提交。
JavaScript submit
事件在 Internet Explorer 中不会冒泡。但是,从 jQuery 1.4 开始,依赖于 submit
事件的事件委托脚本将在所有浏览器中一致地工作,因为 jQuery 已经规范了该事件的行为。
其他说明
-
表单及其子元素不应使用与表单属性冲突的输入名称或 ID,例如
submit
、length
或method
。名称冲突会导致令人困惑的错误。有关完整规则列表以及如何检查标记是否存在这些问题,请参阅 DOMLint。
示例
如果您想防止表单在未设置标志变量的情况下提交,请尝试以下操作:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
|
演示
如果您想防止表单在未设置标志变量的情况下提交,请尝试以下操作:
1
2
3
|
|
要触发页面上第一个表单的提交事件,请尝试以下操作:
1
|
|
.trigger( "submit" )返回值:jQuery
描述:在元素上触发 "submit" 事件。
-
添加版本:1.0.trigger( "submit" )
-
"submit"类型: 字符串字符串
"submit"
。
-
请参阅 .on( "submit", ... )
的描述。