javascript - 更改文本框的值不起作用
问题描述
我的 HTML(简体):
<input class="text" type="text" id="emailbox" value="None">
注意: content1 是包含使用 PHP 从文件中检索到的电子邮件的 div 的 ID,这部分有效(它返回电子邮件)
我的Javascript:
var email = $.trim(document.getElementById('content1').textContent);
if (!email == "") { document.getElementById("emailbox").value = email; }
输入框的值完全没有变化
错误在于该行
document.getElementById("emailbox").value = email;
或使用 html
解决方案
我抓住了你的 Pastebin 代码,如果我将你的content1
div 的内容设置为:
<div id="content1" style="display: none;">EXAMPLE@EXAMPLE.COM</div>
那么下面的代码可以替代从第 327 行开始的脚本。这完全没有样式,除了使它工作的必要代码之外,我没有更改任何代码。
<script>
$(document).ready(function(){
var email = document.getElementById('content1').textContent;
var register = document.getElementById("para7");
var login = document.getElementById("para8");
var logout = document.getElementById("para9");
if (email !== "") {
register.style.display = "none";
login.style.display = "none";
// It's an input so you need to set VALUE, not innerHTML
document.getElementById('mailbox').value = email;
console.log("We are here")
} else {
window.location.href = "../login/";
logout.style.display = "none";
}
document.getElementById("logo").addEventListener("click",function(){
document.getElementById("homebutton").click();
});
document.getElementById("account").addEventListener("click",function(){
if(!email == ""){
document.getElementById("accountbutton").click();
}
});
})
</script>
其他人正确地评论说,在文档准备好之前您不应该运行代码,因此将其包装在该 jQueryready
处理程序中。
当您使用 jQuery 时,我建议您document.getElementById("whatever")
使用 jQuery 方法替换所有实例,$("#whatever")
因为它会使代码更简洁。
推荐阅读
- python - 我在 python 中使用 tkinter 的一个非常简单的程序有问题
- python - Python 3 更好的方法来安排函数在到达特定时间时运行?
- sql - 排除重复记录
- android - expo build (IOS & android) 和 Expo 发布错误
- python - pandas 数据帧上布尔运算符的时间复杂度
- string - 如何将字符串(表示键值对)转换为 Map
- r - 如何将一个向量添加到另一个保持第一个向量常数的向量?
- r - 使用 ggplot2 (3.2.0) 更新 ggsave 给出错误:美学必须是长度 1 或与数据相同 (25)
- excel - 需要此代码一次将多行移动到新工作表
- reactjs - 在道具之间使用泛型作为反应组件