算了,献下丑吧,聊剩于无嘛<html>
<body>
<input id="passwd1" type=hidden >
<input  onkeydown="setTimeout('insert()',0)" id="passwd2" value=" " onkeypress="testEnterKey()">
按回车键确认密码
<SCRIPT LANGUAGE="JavaScript">
<!--
passwd2.focus();
passwd2.select();function insert()
{
{
if (passwd2.value.length == 0)
passwd1.value =passwd1.value.substring(0,passwd1.value.length-1)
else
passwd1.value += passwd2.value;
passwd2.value = " ";
passwd2.select();
}
}function testEnterKey()
{
if (event.keyCode == 13)
{
alert("您刚才输入的密码是:"+passwd1.value)
passwd1.value = ""; //这里清除了密码如果要发送密码就不要执行这一句。
}
}
//-->
</SCRIPT>
</body>
</html>按键太快时会反应不过来(好像setTimeout要延迟一个时钟周期1/18.6秒才反应),不过一般输入密码没有打的那么快的,谁真的要这么干,就让他相信是自己按的太快按错了吧。不过有些人喜欢拷贝、粘贴密码的(尤其是中文密码,必须得粘贴),我可不知道要怎么对付了。

解决方案 »

  1.   

    应该用ob.blur()而不是onblur()
      

  2.   

    实践一下:<form name=show>
    <input type="text" name=a>
    </form><script>
    function init(form)
    {
    for(var m=0;m<form.elements.length;m++){
    var ob=form.elements[m];
    if(ob.type=="text"){
    ob.onblur=new Function("show(this)");
    }
    }
    }function show(obj){
    alert(obj.name+"="+obj.value);
    }
    init(document.show);
    </script>
      

  3.   

    困了,就到javascript版上找点有意思的问题琢磨一下提提神,结果不小心就......
      

  4.   

    emu,沒關係,你的東東海是很有用的
      

  5.   

    哈哈,搞定了
    原來錯在ob.onblur=new Function("funcName("+form+")");這一行。
    我改為:
    ob.onblur=new Function("statResult(this.form)");
    就行了
    但不知道爲什麽這樣不行呢?form和this.form都是指得同一個form呀????
      

  6.   

    你們可知道在php中的兄弟怎麽回答的我的這個問題嗎?他們說用ctrl+h替換哈哈見:
    http://www.csdn.net/expert/topic/804/804062.xml?temp=.8483698
      

  7.   

    "funcName("+form+")" = funcName([object])为了和字符串相加,form被tostring了。new Function("funcName([object])")肯定不是你要的结果啦