javascript document.getElementById('').value='' 不成功

var answer=new Object();
 var url=location.search;
  
  if(url.indexOf('?')!=-1){
    str=url.substr(1);
    strs=str.split('&');
    for(i=0;i<strs.length;i++){
      answer[strs[i].split('=')[0]]=unescape(strs[i].split('=')[1]);
    }
    
  }
  alert(answer["answer1"]);
  document.getElementById('answer1').value=answer["answer1"];
  function show(){
    document.getElementById('answer1').value=answer["answer1"];
    document.getElementById('answer2').value=answer["answer2"];
  }

静态页面传值,使用的是location answer1 是一个textarea 想跳转页面之后直接对answer1赋值可是提示错误。 但是增加一个 show方法,绑定一个button的click事件,就可以了。提示的错误信息是Uncaught TypeError: Cannot set property 'value' of null。

 

一只甜甜圈
浏览 387回答 6
6回答

不负相思意

alert(answer["answer1"]); 有數值嗎?如果沒有。不能設置null

智慧大石

@朝曦: 原因是你在賦值的時候,document.getElementById('answer1').value中的answer1還沒有生成呢。js執行的早了。如果把這個js放到最後面執行也沒有問題。或則是 像下面用jquery

哈士奇WWW

有answer1、answer2这样ID的对象吗?或者这样的对象不止一个?当有多个的时候,getElementById返回的是一个数组,js本身不支持对数组赋值时自动对每个成员单独赋值。

梦里花落0921

写在window.onload事件里面。。。

qq_花开花谢_0

.text 和.value???
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript