如何设置用Ctrl+Enter提交表单
解决思路:
在表单中捕获按键事件,判断用户是否按下Ctrl键和Enter键,是的话就用表单的submit方法提交表单。
具体步骤:
1.现在关键是要取得各键对应的键值,先运行一下下面的脚本测试键值:
<script event="onkeydown" for="document">
alert(event.keyCode)
</script>
2.好了,测试到回车键的键值为13,Ctrl键的键值为17,于是有:
<form action="test.asp" οnkeydοwn="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" οnkeydοwn="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 键的状态。
解决思路:
在表单中捕获按键事件,判断用户是否按下Ctrl键和Enter键,是的话就用表单的submit方法提交表单。
具体步骤:
1.现在关键是要取得各键对应的键值,先运行一下下面的脚本测试键值:
<script event="onkeydown" for="document">
alert(event.keyCode)
</script>
2.好了,测试到回车键的键值为13,Ctrl键的键值为17,于是有:
<form action="test.asp" οnkeydοwn="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" οnkeydοwn="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 键的状态。