2011-04-23 73 views
1

正確執行我試圖EXCUTE在瀏覽器下面的地址欄:的JavaScript不是在地址欄中

javascript:document.getElementById('Input').value='0' 

但它確實完全不同的東西,只是顯示0在屏幕上。這究竟是爲什麼以及如何正確EXCUTE JavaScript的分配0爲使用地址欄的#input值。 在此先感謝。

+1

'的getElementById()'返回一個元件,不是一個數組,使用'[0]'後是錯誤的。 – Khez 2011-04-23 00:31:26

+0

對不起,發佈時發生錯誤。 – Babiker 2011-04-23 02:42:09

回答

1

出於某種原因,你需要添加;void 0到您在地址欄,以防止新的頁面被加載運行腳本的結束。

同時檢查JS錯誤控制檯來看看是否有任何錯誤(例如,如果該元素不存在)

0

你可能想嘗試getElementByType('input')[0],而不是...

+0

哦,錯過了:-)但它是'getElementsByTagName'。 – 2011-04-23 00:34:11

0

getElementById回報一個元素,而不是一個數組,這就是爲什麼你的說法是不好好工作。取出[0],它威力工作。

你似乎也想找一個input元素,所以如果你沒有一個元素與id="input",您可以使用getElementsByTagName(注意s)。

它返回具有給定標記名稱的所有元素:

javascript:document.getElementsByTagName('input')[0].value='0' 
0

當你運行一個javascript:URI,腳本的返回值,如果不是不確定的,被轉換爲字符串。該字符串然後作爲HTML加載。返回值只是腳本執行的最後一條語句的值。 javascript:"<h1>Hey</h1>"

你可以把這個在您的地址欄倒也乾脆看到這一點。

在你的情況,你的腳本的返回值是字符串'0',這正是你再看看解析爲HTML。

您可以強制返回值由東西放在保證評估未定義在腳本的結尾是不確定的。 void 0是一個熱門的選擇。