2012-05-31 123 views
0

我有以下JavaScript,我想在窗体“窗体”中将str的值分配给隐藏字段“abc”。 它在警告框中产生str的值,但是当我尝试使用 “document.forms [form] .abc.value = str;”将该值赋给abc时“ 然后抛出下面的错误......为什么Javascript会引发此错误

Message: 'document.forms.form.abc' is null or not an object 
Line: 140 
Char: 5 
Code: 0 

变量IMAGE_URL包含动态生成如http://localhist/local/..../1234.jpg

我该如何摆脱这一个网址...

<script language="JavaScript"> 
     function imgurl() 
     { 
      var str=image_url; 
      alert("Image Stored @"+str); 

      document.forms["form"].abc.value=str; 
      //document.getElementById('url').innerHTML=str; 

     } 
    </script> 


<form name="form"> 
    <input type="button" value="URL" onclick="javascript:imgurl();"> 
          </td><br> 
      <td valign=top> 
       <div id="upload_results" style="border:2px black"></div><br/> 
       <input type="hidden" name="abc" value=""> 
       <br/><p id="url"/> 
      </td> 
      </tr> 
    </form> 
+1

我很惊讶,你没有得到错误 “'image_url'没有定义”(或类似)。如果我解决这个问题,**你的代码工作正常**(在Chrome中):http://jsfiddle.net/7rMbj/ –

+1

不,我不会得到它,因为它作为全局变量被定义在imgurl上面的函数中)。 – DeveloperJava

+0

另一件事:在调用'imgurl()'之前,不需要添加'javascript:'前缀。没有它,这段代码将正常工作。 –

回答

1

使用IDS。

<input type="hidden" id="abc" name="abc" value=""> 

的JavaScript:

function imgurl() { 
    document.getElementById("abc").value = img_url; 
} 
+0

为什么这是更好的解决方案? – Amberlamps

+1

浏览器速度快得多,并且允许您直接访问元素而不是依赖其父级。 – adarshr

+0

因为我将image_url分配给str变量,所以我这样使用它 document.getElementById(“abc”)。value = str; 这不是抛出错误,但我如何检查赋值是否值? – DeveloperJava

相关问题