Javascript 输入值的变量赋值

Javascript 输入值的变量赋值,javascript,php,Javascript,Php,我有一个.js代码: var test = document.getElementById('box').innerHTML; 这个html代码 <textarea id="box">testing</textarea> <div> <?php echo '<script>document.writeln(test)</script>' ?> </div> div准确显示了var测试值。有人能解释一

我有一个.js代码:

var test = document.getElementById('box').innerHTML;
这个html代码

<textarea id="box">testing</textarea>
<div>
     <?php echo '<script>document.writeln(test)</script>' ?>
</div>
div
准确显示了
var测试值。有人能解释一下那里发生了什么吗?

问题是:

var test = document.getElementById('box').innerHTML;
正在加载页面后运行,因此未定义测试。另一个脚本首先运行,因为它首先被找到

如果你真的想这样做,你可以这样做。将定义测试的脚本放在目标HTML元素之后。这将定义变量
test

测试
var test=document.getElementById('box').innerHTML;
文件写入(测试)
问题在于:

var test = document.getElementById('box').innerHTML;
正在加载页面后运行,因此未定义测试。另一个脚本首先运行,因为它首先被找到

如果你真的想这样做,你可以这样做。将定义测试的脚本放在目标HTML元素之后。这将定义变量
test

测试
var test=document.getElementById('box').innerHTML;
文件写入(测试)

打开Javascript控制台,是否看到错误消息?根据您向我们展示的内容,您试图在加载元素之前加载
innerHTML
。正如Barmar提到的,您应该在控制台中看到一个错误。@Barmar是的,我确实收到了这个错误
uncaughttypeerror:cannotreadproperty'innerHTML'of null
。我试图找到解决办法,但没有找到。我是PHP的新手,这和PHP有什么关系?这是一个Javascript错误。显然,
getElementById('box')
返回的
null
@HSK2609是一个JavaScript错误,而不是PHP错误。这意味着
document.getElementById('box')
返回
null
,当它找不到具有该ID的元素时会发生这种情况。打开Javascript控制台,是否看到错误消息?根据您向我们展示的内容,您试图在加载元素之前加载
innerHTML
。正如Barmar提到的,您应该在控制台中看到一个错误。@Barmar是的,我确实收到了这个错误
uncaughttypeerror:cannotreadproperty'innerHTML'of null
。我试图找到解决办法,但没有找到。我是PHP的新手,这和PHP有什么关系?这是一个Javascript错误。显然,
getElementById('box')
返回的
null
@HSK2609是一个JavaScript错误,而不是PHP错误。这意味着
document.getElementById('box')
返回了
null
,当它找不到具有该ID的元素时会发生这种情况。