用 setTimeout 延迟一下函数的运行就可以了.

解决方案 »

  1.   

    onkeydown="setTimeout('_submit(document.all.str_in.value)')"
      

  2.   

    可以啊?你看我做的测试程序
    当然我用的Asp,其实是一样的.''''''''''''这是1.asp'''''''''''
    <%
    response.write request("para")
    %>'''''这是脚本程序''''''''''''<html>
    <script language="javaScript">
    function _submit(strvalue) {
    var key_code = event.keyCode;
    if(key_code==65){      window.open("http://127.0.0.1/1.asp?para="+strvalue,null,"height=200,width=500,status=yes");
    }
    }
    </script>
    <body>
    <input type="text" name="str_in" onkeydown="_submit(this.value)">
    </body>
    </html>但是有个问题:a是快捷键,在初始化后直接按a键,那么弹开窗口将得不到a这个字符串?因为浏览器把它被当作快捷命令处理了.那么你想想如何解决该问题呢?
      

  3.   

    就是用延迟时间的方法来处理:hrong(黄蓉 被正身封杀中)的方法正确,我把程序补充完整. <html>
    <script language="javaScript">
    function _submit() {
    var key_code = event.keyCode;
    if(key_code==65)    
      setTimeout(openwindow,1000)
    }
    function openwindow()
    {  window.open("http://127.0.0.1/1.asp?para="+document.all.str_in.value,null,"height=200,width=500,status=yes");
    }
    </script>
    <body>
    <input type="text" name="str_in" onkeydown="_submit()">
    </body>
    </html>