2011-04-23 65 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是一个热门的选择。