我的HTML(简体):
<input class="text" type="text" id="emailbox" value="None">
注意:content1是一个div的ID,其中包含使用PHP从文件中检索到的电子邮件,并且该部分有效(它返回电子邮件)
我的Javascript:
var email = $.trim(document.getElementById('content1').textContent);
if (!email == "") { document.getElementById("emailbox").value = email; }
输入框的值完全不变
错误在于行
document.getElementById("emailbox").value = email;
或带有html
如果我这样尝试您的代码,则document.getElementById('content1')
返回null
您是否包装了代码
window.onload = function() {
// run your script in here
}
或对于jQuery
$(document).ready(function() {
...
}
否则,您的代码可能会在尚未准备就绪时尝试访问DOM。
请参见https://stackoverflow.com/a/13921149/11472484和Running jQuery code before the DOM is ready?
HTML要求每页只有一个唯一的ID。
您在页面上具有2个具有emailbox
ID的元素。
<div class="box">
<input class="text" type="text" id="emailbox">
</div>
和
<div class="hiddenbox">
<input id="emailbox" class="text" type="text" name="email">
<input type="submit" value="Send" id="accountbutton" class="sendbutton">
</div>
因此,当您设置值时,它是is设置,但是元素错误。
所以只需调整代码,以便您的每个输入都具有唯一的ID,并且它应该开始表现自己。