2012-03-21 52 views
1

我想知道如何获取文本区域或输入字段的DOM节点?我正在使用JavaScript文件来处理键盘快捷方式,并且我发现我们可以给出快捷方式的目标,在哪里使用该快捷方式,默认是文档,我已经下载了该JavaScript并写入了这些样本,文本区域的DOM名称

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title></title> 
<script type="text/javascript" src="shortcut.js"></script> 
<script type="text/javascript"> 
shortcut.add("a",function() { 
    alert("The bookmarks of your browser will show up after this alert..."); 
},{ 
    'type':'keydown', 
    'disable_in_input':false, 
    'propagate':false, 
    'target':document.form1.namea 
});</script> 

</head> 

<body> 
<form name="form1" id="form1"><textarea name="namea" id="namea"></textarea></form> 
</body> 
</html> 

我从here得到这个脚本现在我需要当我把目标文件,并按下键“a”在我的键盘,它显示我一个警报,但如果我把document.form1.namea这样,那么它不告诉我任何警报,请帮我解决这个问题。我也试图把document.getElementById("namea"),但没有任何帮助,在教程它说,在此选项中,我们必须给它
目标 - DOM节点
应该守候着键盘事件的元素。默认:文档

我试图谷歌关于我的textarea的DOM节点,但没有任何帮助,请帮助我,我想提交此表格时,当用户按下键“a”或我可以修改它输入密钥以及。

回答

0

document.getElementById("namea")将工作...但是,直到节点存在。

在解析<input>元素之前,您正在运行脚本(没有延迟(例如onload))。

可以将其设置为稍后调用的函数,也可以移动<script>以使其显示在<input>之后(例如,在</body>标记之前)。

+0

OMG,你为什么不我想起了这个小东西,谢谢你提醒我非常感谢现在,它正在改变警报什么再次感谢,并再次感谢很多 – 2012-03-21 17:25:09

0

请仔细阅读你已经采取了形式的文档了一句:

目标 - DOM节点应该守候着键盘 事件的元素。默认:文档

如果您将目标设置为差异元素,则只有在该元素上时,shorcut才会生效。所以,你要做的就是离开目标为是(文件),并通过

document.form1.submit() 
+0

对不起,我没有真正的意思,我的意思是,快捷方式应该只有当用户专注于该文本区域,如果它不集中,然后打一个不应该做任何事情,但谢谢,我知道,我只想提交表单,如果用户已经集中在textarea并按下键“a” – 2012-03-21 17:23:10