从文本字段中获取值并将其发布到javascript变量中

时间:2013-01-28 13:21:32

标签: javascript html var

  

可能重复:
  Why does jQuery or a DOM method such as `getElementById` not find the element?

我有这个脚本:

<script>
var dataoriginale = document.getElementById("savedataoriginale").value;
</script>

和此文字字段:

<input name="savedataoriginale" id="savedataoriginale" type="text" value="testtest">

但是当我尝试打印javascript var

<script>document.write(dataoriginale)</script>

我未定义。

为什么呢?我该如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

这是因为在从输入

获取值之前,您有2个冲突js会话

这是工作选项

<input name="savedataoriginale" id="savedataoriginale" type="text" value="testtest">
<script>
var dataoriginale = document.getElementById("savedataoriginale").value;
document.write(dataoriginale);
</script>

答案 1 :(得分:2)

很可能是因为<script><input>之前执行。发生这种情况是因为document.getElementById("savedataoriginale").value在未解析DOM时返回undefined

要解决此问题,请将<script>标记放在<input>之后,并确保在解析DOM之前它不会运行。您也可以像这样使用DOMContentLoaded事件:

document.addEventListener("DOMContentLoaded", function(){
  var dataoriginale = document.getElementById("savedataoriginale").value;
  alert( dataoriginale );
},false);

更多信息:

PS。您不需要在id元素上同时拥有name<input>属性。名称已弃用。身份证就足够了。