更改文本框的值不起作用

问题描述 投票:0回答:2

我的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

所有代码:https://pastebin.com/5JSLzHdw

javascript html
2个回答
0
投票

如果我这样尝试您的代码,则document.getElementById('content1')返回null

您是否包装了代码

window.onload = function() {
  // run your script in here
}

或对于jQuery

$(document).ready(function() {
  ...
}

否则,您的代码可能会在尚未准备就绪时尝试访问DOM。

请参见https://stackoverflow.com/a/13921149/11472484Running jQuery code before the DOM is ready?


0
投票

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,并且它应该开始表现自己。

© www.soinside.com 2019 - 2024. All rights reserved.