JavaScript - 文本框' onkeypress'事件不起作用

时间:2015-05-28 05:48:52

标签: javascript html ajax

我有2个HTML页面,Login.html,contactus.html。

  1. Login.html有一个链接为'登录' contactus.html有一个文本框。 在同一页面中,定义了一个调用的JavaScript方法 通过文本框' onkeypress'事件
  2. 当'登录'单击链接,进行AJAX调用。这个电话 返回contactus.html的内容。
  3. Login.html的内容将替换为返回的内容 contactus.html。
  4. Login.html呈现为contactus.html。
  5. 现在,问题出现了:当我在文本框中输入任何键时 有焦点,相应的onkeypress'事件不执行 所以,它对应的JavaScript方法。一个观察是 ' onLoad'身体的事件' of contactus.html没有被调用。
  6. 我想知道如何注册写入的事件处理程序 contactus.html(login.html的完整HTML内容已被替换 使用contactus.html的HTML内容,以便它可以调用?
  7. TIA

    login.html的代码:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="ISO-8859-1">
    <title>Insert title here</title>
    <script src="./pages/js/service.js"></script>
    <script type="text/javascript">
    function navigate(url)
    {
        displayPage(url);
    }
    </script>
    </head>
    <body>
        <div id="divtohideindex">
            <a href="#" onclick="navigate('URLcontactus');">Login</a>
        </div>
    </body>
    </html>
    

    service.js的代码:

    function displayPage(url) 
    {
        var targetURL;
        targetURL = getResourceLocation(url);
        loadResource(targetURL);
        //document.getElementById("divtohideindex").style.display='none';
    }
    
    function getResourceLocation(resourceName)
    {
        if (resourceName == 'URLcontactus') 
        {
            return "./pages/contactus.html";
        }
    }
    
    function loadResource(urlToNavigate) 
    {
        var xmlhttp;
        var resp;
        if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp = new XMLHttpRequest();
        } else {// code for IE6, IE5
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttp.onreadystatechange = function() {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                var str = xmlhttp.responseText;
                alert("resp-->"+ xmlhttp.responseText);
    
                var strHtmlContent = str.substring(str.indexOf("<html>"), str.lastIndexOf("</html>"))+"</html>";
                window.document.getElementsByTagName('html')[0].innerHTML = strHtmlContent;
        }
    }
    xmlhttp.open("GET", urlToNavigate, false);
    xmlhttp.send();
    }
    

    contactus.html代码:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="ISO-8859-1">
    <title>Insert title here</title>
    <script type="text/javascript">
    function validate()
    {
        alert("in validate()");
    }
    </script>
    </head>
    <body>
        <h1>Contact Us...</h1>
        <input type="text" onkeypress="validate();" value="123" id="id_txtbx">
        <div id="myDiv"></div>
    </body>
    </html>
    

0 个答案:

没有答案