2012-05-31 47 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

相關問題