大家好,我要获取当前FROM中的焦点控件,发现怎么也获取不到,请高手支个招,谢谢。
function processkey(e)
{
var nTest;
evnt = e.which;
nTest = " Press Key: "+evnt;
// alert(nTest); //alert1处
switch(evnt)
{
case RM_OK_KEY:
var nKey;
nKey ="The value is "+ e.target.type + "----" +e.target.id+ "****" + e.srcElement.id;
alert(nKey); //alert2处
if(e.target.type == "password")
{
okAnswer();
return 0;
}
return 1; default:
return 1;
}
}FORM中的控件:<input name="pwd" id ="pwd" type="password" size="15">在注释的alert 1处的打印是正常的,可以在alert 2处的打印,不管是e.target.type ,e.target.id还是e.srcElement.id得到的都是undefined,请问是怎么回事啊。该怎么样获得到这个是否有焦点。
function processkey(e)
{
var nTest;
evnt = e.which;
nTest = " Press Key: "+evnt;
// alert(nTest); //alert1处
switch(evnt)
{
case RM_OK_KEY:
var nKey;
nKey ="The value is "+ e.target.type + "----" +e.target.id+ "****" + e.srcElement.id;
alert(nKey); //alert2处
if(e.target.type == "password")
{
okAnswer();
return 0;
}
return 1; default:
return 1;
}
}FORM中的控件:<input name="pwd" id ="pwd" type="password" size="15">在注释的alert 1处的打印是正常的,可以在alert 2处的打印,不管是e.target.type ,e.target.id还是e.srcElement.id得到的都是undefined,请问是怎么回事啊。该怎么样获得到这个是否有焦点。
解决方案 »
- FusionCharts v3.0问题,调用第二次调用setDataURL报脚本错误
- 正则表达式查找字符串的问题
- ActiveX能否事先以安装程序的形式让用户安装,然后在IE中不弹出提示下载ActiveX的对话框?
- 怎么用JavaScript实现这个功能?
- 如何用jquery做下拉刷新的效果??很纠结jquery能不能做出来!!!
- 高手看看这行代码有什么问题。
- 关于MSDN导航栏小滚动条的问题!!!(讨论)
- 制作网上同学录时遇到的问题!
- 求教一组编码的问题
- JavaScript创建FilSystemObject对象无法调用其方法
- 关于JS的问题
- 请问一个网页中两个按钮分别点出来不同的东西怎么做?
document.onkeypress = processkeyfunction processkey(e)
{
var event = e||window.e;
var esrc = event.target||event.srcElement;
var evnt = event.which||event.keyCode;
//while(esrc.nodeType != 1)esrc = esrc.parentNode;
//alert(esrc.tagName);
switch(evnt)
{
case RM_OK_KEY:
nStr = "hello, "+esrc.id;
alert(nStr); //此处得到的esrc.id还是undefined,
switch(esrc.id)
{
case "pwd": ..........FORM中的控件: <input name="pwd" id ="pwd" type="password" size="15">
效果见注释处,这是什么原因,按说我也已经兼容了IE和MZ,FF了
你输入的东西后获取的是什么?
RM_OK_KEY是我定义的回车键的值,为13,
按理说,如果我在密码框输入密码后,直接回车,
alert(nStr); 应该是打印: hello,pwd,这是我想要的效果。可以实际上我回车后,打印出来的确是 :hello, undefined
window.e 这个哪出的我不知道如果要兼容的话window.event(Win/IE的)event.which 这个我没学过.keyCode不是IE特有的,DOM标准也有,FF支持.不过FF还有个charCode属性用来获得unicode,keyCode只是获得ASCII码,而IE是在onkeyperss的时候keyCode才获得unicode的,在onkeydown和onkeyup获得的是ASCII码.
不知你是否有很好的思路,请帮忙解决下这个问题,我都搞好几天了,至今没有进展,拜托!
var target = e.target || e.scrElement;alert(target.tagName);
看看是什么节点
后发现没有反应,没有任何值出来。加的位置在红色标注处,现在注释掉了。<html>
<head>
<title>psw </title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language='javascript' src='ui/jscript/keymap.js'> </script>
<script> function okAnswer()
{
var nRet;
nRet = iPanel.ioctlWrite("Commd.CheckPwd", document.login.pwd.value);
if (nRet != 0)
{
//alert("The password is invalid!")
showWarning1(0);
document.login.pwd.value = "";
document.login.pwd.focus();
return;
}
location.href = './ui/index.htm';
} function ChangePwd()
{
location.href = './chpwd.htm'
} function GoBack()
{
var nRet ;
nRet = iPanel.ioctlWrite("Commd.OpenHomepage", "0");
if (nRet != 0)
{
alert("The OpenHomepage failed !");
return;
}
} function open_homepage()
{
var nRet ; nRet = iPanel.ioctlWrite("Commd.OpenHomepage", iPanel.ioctlRead("HomePageURL"));
if (nRet != 0)
{
alert("The OpenHomePage failed !");
return;
}
} /*不响应返回键*/
function processkey(e)
{
var event = e ¦ ¦window.e;
var esrc = event.target ¦ ¦event.srcElement;
var evnt = event.which ¦ ¦event.keyCode;
//alert(esrc.tagName); switch(evnt)
{
case RM_OK_KEY:
nStr = "hello, "+esrc.id;
alert(nStr); //此处一直得不到esrc.id
switch(esrc.id)
{
case "pwd":
{ alert("xixi");
okAnswer();
return 0;
}
break
}
return 1; case RM_WWW_KEY: //菜单
open_homepage();
return 0;
default:
return 1;
}
}
document.onkeypress = processkey
</script>
</head>
<body background="ui/images/psw_20.jpg" leftmargin="0" topmargin="0" onload = document.login.pwd.focus()>
<form name="login">
<table width="640" height="100" cellpadding="0" CELLSPACING="0" cellspacing="0" border="0">
<tr>
<td height="10" border="2"> <img src="images/spacer.gif" width="17" height="3"> </td>
</tr>
</table> <table width="562" height="330" border="0" cellpadding="0" cellspacing="0" align="center" valign=middle>
<tr height="20">
<td> <img src="images/spacer.gif" width="258" height="2"> </td>
</tr>
<tr height="90">
<td>
<img src="images/spacer.gif" width="270" height="2">
<input name="pwd" id = "pwd" type="password" size="15">
</td>
</tr>
<tr height="27">
<td> <img src="images/spacer.gif" width="258" height="2"> </td>
</tr> </table> <table width="640" height="82" cellpadding="0" CELLSPACING="0" cellspacing="0" border="0">
<tr>
<td height="60" valign=bottom>
<img src="images/spacer.gif" width="172" height="2">
<a href="javascript:GoBack()"> <img src="images/spacer.gif" width="117" height="60" name="reseting" border=0> </a> <img src="images/spacer.gif" width="65" height="2">
<a href="javascript:okAnswer()"> <img src="images/spacer.gif" id="query" width="117" height="60" name="reseting" border=0> </a>
</td>
</tr>
</table>
</form>
</body>
</html>
原先的代码,是输入完密码后,我焦点移到下面的确认图片(注意不是BUTTON按钮,因为没有css,button做不出效果)上按确认可以实现跳转。
我贴一下原先可以运行的代码,然后我再用红色标注出我想实现功能所加的代码。<html>
<head>
<title>psw </title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language='javascript' src='ui/jscript/keymap.js'> </script>
<script> function okAnswer()
{
var nRet;
nRet = iPanel.ioctlWrite("Commd.CheckPwd", document.login.pwd.value);
if (nRet != 0)
{
//alert("The password is invalid!")
showWarning1(0);
document.login.pwd.value = "";
document.login.pwd.focus();
return;
}
location.href = './ui/index.htm';
} function ChangePwd()
{
location.href = './chpwd.htm'
} function GoBack()
{
var nRet ;
nRet = iPanel.ioctlWrite("Commd.OpenHomepage", "0");
if (nRet != 0)
{
alert("The OpenHomepage failed !");
return;
}
} function open_homepage()
{
var nRet ; nRet = iPanel.ioctlWrite("Commd.OpenHomepage", iPanel.ioctlRead("HomePageURL"));
if (nRet != 0)
{
alert("The OpenHomePage failed !");
return;
}
} /*不响应返回键*/
function processkey(e)
{
var evnt = e.which; //原先工程有的,可以运行
var esrc = e.target; //我添加的语句 switch(evnt)
{
case RM_OK_KEY: //表示确认按钮RM_OK_KEY = 13
nStr = "hello, "+esrc.id;
alert(nStr); //在密码框中按确认后,可以运行到此处,但此处一直得不到esrc.id ,显示出 hello, undefined
switch(esrc.id)
{
case "pwd":
{ alert("xixi");
okAnswer();
return 0;
}
break
}
return 1;
case RM_WWW_KEY: //菜单
open_homepage();
return 0;
default:
return 1;
}
}
document.onkeypress = processkey
</script>
</head>
<body background="ui/images/psw_20.jpg" leftmargin="0" topmargin="0" onload = document.login.pwd.focus()>
<form name="login">
<table width="640" height="100" cellpadding="0" CELLSPACING="0" cellspacing="0" border="0">
<tr>
<td height="10" border="2"> <img src="images/spacer.gif" width="17" height="3"> </td>
</tr>
</table> <table width="562" height="330" border="0" cellpadding="0" cellspacing="0" align="center" valign=middle>
<tr height="20">
<td> <img src="images/spacer.gif" width="258" height="2"> </td>
</tr>
<tr height="90">
<td>
<img src="images/spacer.gif" width="270" height="2">
<input name="pwd" id = "pwd" type="password" size="15">
</td>
</tr>
<tr height="27">
<td> <img src="images/spacer.gif" width="258" height="2"> </td>
</tr> </table> <table width="640" height="82" cellpadding="0" CELLSPACING="0" cellspacing="0" border="0">
<tr>
<td height="60" valign=bottom>
<img src="images/spacer.gif" width="172" height="2">
<a href="javascript:GoBack()"> <img src="images/spacer.gif" width="117" height="60" name="reseting" border=0> </a> <img src="images/spacer.gif" width="65" height="2">
<a href="javascript:okAnswer()"> <img src="images/spacer.gif" id="query" width="117" height="60" name="reseting" border=0> </a>
</td>
</tr>
</table>
</form>
</body>
</html>请各位帮帮忙看看,谢谢