如何设置用Ctrl+Enter提交表单

来源:互联网 发布:2016十大网络作家 编辑:程序博客网 时间:2024/05/14 08:26
如何设置用Ctrl+Enter提交表单
解决思路
    在表单中捕获按键事件,判断用户是否按下Ctrl键和Enter键,是的话就用表单的submit方法提交表单。
具体步骤
1.现在关键是要取得各键对应的键值,先运行一下下面的脚本测试键值:

<script event="onkeydown" for="document">
alert(event.keyCode)
</script>

2.好了,测试到回车键的键值为13,Ctrl键的键值为17,于是有:

<form action="test.asp" onkeydown="if(event.keyCode==17&&event.keyCode==13)this.submit()">
<textarea name="content"></textarea>
</form>

3.测试一下看看?没成功,因为每次keydown事件只有一个键,也就是说event,keyCode不可能同时等于13和17,这时要同时捕获Ctrl键,就要用event.ctrlKey了,修改如下:

<form action="test.asp" onkeydown="if(event.ctrlKey&&event.keyCode==13)this.submit()">
<textarea name="content"></textarea>
</form>

 提示:按键的事件句柄除了onkeydown外,还有onkeyup和onkeypress;判断左边的Ctrl键还可以用event.ctrlLeft。
特别提示
代码运行后在多行文本框内按下Ctrl+Enter键,表单将自动提交效果如图1.4.30所示。

图1.4.30 可用Ctrl+Enter键提交的表单

特别说明


本例需要掌握的是如何获取用户的按钮代码,还有Ctrl键的识别。
keyCode 设置或获取与导致事件的按键关联的 Unicode 按键代码。
ctrlKey 设置或获取 Ctrl 键的状态。 
ctrlLeft 设置或获取左 Ctrl 键的状态。