变量赋值为输入值

时间:2016-07-14 16:21:04

标签: 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显示testing,但相反,我得到undefined结果。但是,当我将var test更改为:

var test = "this is just a test";

div完全显示var test值。谁能解释那里发生了什么?

1 个答案:

答案 0 :(得分:5)

问题在于:

var test = document.getElementById('box').innerHTML;
页面加载后正在运行

,因此,未定义测试。另一个脚本首先运行,因为它首先被找到。

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

&#13;
&#13;
<textarea id="box">testing</textarea>
<script>var test = document.getElementById('box').innerHTML;</script>
<div>
     <script>document.writeln(test)</script>
</div>
&#13;
&#13;
&#13;