变量赋值给输入值

pro*_*mer 0 javascript php

我有这个.js代码:

var test = document.getElementById('box').innerHTML;
Run Code Online (Sandbox Code Playgroud)

和这个HTML代码

<textarea id="box">testing</textarea>
<div>
     <?php echo '<script>document.writeln(test)</script>' ?>
</div>
Run Code Online (Sandbox Code Playgroud)

我期待着它div的表现,testing但相反,我得到了undefined结果.但是,当我var test改为:

var test = "this is just a test";
Run Code Online (Sandbox Code Playgroud)

div显示了var test价值.谁能解释那里发生了什么?

Kev*_*Bot 5

问题是:

var test = document.getElementById('box').innerHTML;
Run Code Online (Sandbox Code Playgroud)

在页面加载后正在运行,因此,未定义测试.另一个脚本首先运行,因为它首先被找到.

如果你真的想这样做,你可以做这样的事情.在您要定位的HTML元素之后立即放置定义测试的脚本.那将定义变量test.

<textarea id="box">testing</textarea>
<script>var test = document.getElementById('box').innerHTML;</script>
<div>
     <script>document.writeln(test)</script>
</div>
Run Code Online (Sandbox Code Playgroud)