具体步骤:
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键,表单将自动提交
特别说明
本例需要掌握的是如何获取用户的按钮代码,还有Ctrl键的识别。
keyCode 设置或获取与导致事件的按键关联的 Unicode 按键代码。
ctrlKey 设置或获取 Ctrl 键的状态。
ctrlLeft 设置或获取左 Ctrl 键的状态。
以下是代码片段:
<script language=javascript>
ie = (document.all)? true:false
if (ie){
function ctlent(eventobject){if(event.ctrlKey && window.event.keyCode==13){this.document.form1.submit();}}
}
</script>
<form action="posting.asp" method=POST name=form1>
<textarea cols=95 name=Content rows=12 wrap=virtual οnkeydοwn=ctlent()>
Ctrl+Enter提交内容信息
</textarea>
<input type=Submit value="Submit" name=Submit>
</form>