获取ID的元素将定位到特定页面中

时间:2017-02-05 08:13:50

标签: javascript html css iframe

这是我第一次发帖,所以请尽可能提供帮助:)

我正在制作一个网页,但遇到了一个你可以帮忙解决的问题。 有3个文件:

  1. home.html做为 - >主页
  2. 的login.html - >带有要在home.html中的iframe中打开的表单的页面
  3. hh.js - > javascipt文件
  4. 我的最终目标是在按下login.html页面上的提交按钮后显示用户名,而不是在home.html上写的登录。

    就目前而言,我只是想将“登录”改为其他任何内容而不是用户名。

    以下是hh.js(javascript文件)的代码:

    function goback(){
    alert("yes") 
    var str = document.getElementById("demo").innerHTML;
    var res = str.replace("Login","ppap");
    document.getElementById("demo").innerHTML = res;
    }
    

    以下是存在登录字的home.html文件(主页)的代码

    <a onclick="login()"><span id="demo">Login</span></a>
    

    以下是Login.html文件的完整代码:

    <html>
    <head>
    <script language="javascript" src="hh.js">
    </script>
    </head>
    <body bgcolor="#000033">
    <br><font color="white">
    LOGIN<br>
    USERNAME:<input type="text" id="user"><br>
    PASSWORD:<input type="password"><br>
    <button onclick="goback()">Submit</button>
    </body></font>
    </html> 
    

    问题 -

    函数goback()存在于两个文件中以便进行测试。两个页面都有一个按钮(Login.html有提交按钮&amp;&amp; home.html有一个具有相同功能的随机按钮)。

    当我点击登录时的按钮(home.html中的iframe)时,它会运行警告,但是当我运行home.html中具有相同功能的按钮时,它不会更改登录字按钮,警报也会出现凌词改为ppap。

    我认为讨厌 - 提交按钮运行但getelementid在login.html而不是home.html中搜索id名称。

    如果有人能帮助我将getlementbyid定位到home.html,我将非常感激,但请提供一个非常简单的代码,因为学校的老师不会理解代码。此外,如果有任何其他简单的方法来做同样的事情我也可能也会收到这些答案,而不是使用iframe我用来隐藏该区域,直到调用登录功能,然后在同一页面调用goback()函数..

2 个答案:

答案 0 :(得分:1)

没有id为“demo”的元素,因此JavaScript找不到它,也不知道应用文本的位置。尝试将要替换的文本放入div或span元素中:

<span id="demo">LOGIN</span>

此外,“登录”与“登录”不同,因此当您尝试替换“登录”时,无需替换。但是如果你试图替换“LOGIN”那么它就会起作用。

var res = str.replace("LOGIN","ppap");

这也有效:

var res = "ppap";

另外,不要忘记在javascript函数调用的每一行之后添加分号,你在代码中错过了一个分号。

答案 1 :(得分:0)

你需要这个:

function login() {
    document.getElementById("demo").innerHTML = "Logout";
}

更改

中的测试
<a onclick="login()"><span id="demo">Login</span></a>

有点难以阅读你的问题,但要显示一个元素尝试

JS

document.getElementById("demo").style.display = "block";

CSS

#demo {display: none;}