这是我第一次发帖,所以请尽可能提供帮助:)
我正在制作一个网页,但遇到了一个问题,您可以帮助解决。 有3个文件:
- home.html-->主页
- login.html--> 包含要在 home.html 内的 iframe 中打开的表单的页面
- hh.js-->javascipt文件
我的最终目标是在按下 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 有提交按钮 && home.html 有一个具有相同功能的随机按钮)。
当我单击登录按钮(home.html 中的 iframe)时,它会运行带有 yes 的警报,但当我运行具有相同功能的 home.html 中的按钮时不会更改登录字按钮,警报也会出现Ling 字变成了 ppap。
我觉得很高兴 - 提交按钮运行但 getelementid 在 login.html 而不是 home.html 中搜索 id 名称。
如果有人可以帮助我将 getlementbyid 定位到 home.html,我将不胜感激,但请提供一个非常简单的代码,因为学校的老师不会理解该代码。此外,如果有任何其他简单的可能方法来做同样的事情,我也可能会尽快收到这些答案,而不是使用 iframe 我用来隐藏该区域,直到调用登录功能,然后在同一页面中调用 goback() 函数..
最佳答案
没有 ID 为“demo”的元素,因此 JavaScript 无法找到它并且不知道在何处应用文本。尝试将要替换的文本放入 div 或 span 元素中:
<span id="demo">LOGIN</span>
此外,“登录”与“登录”不同,因此当您尝试替换“登录”时,没有什么可替换的。但是,如果您尝试替换“LOGIN”,那么它将起作用。
var res = str.replace("LOGIN","ppap");
这也行:
var res = "ppap";
此外,不要忘记在 javascript 函数调用的每一行之后添加分号,您在代码中漏掉了分号。
关于javascript - 通过 Id 获取元素以在特定页面中定位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42049876/