我正在使用html输入框,这是在更新面板内部我需要在页面加载后将光标设置为集中在该输入框上,所以我调用了一个函数,如下所示
< body onload =“javascript:document.Default.UserInputTextBox.focus();” >
但是我收到以下Javascript错误,
Microsoft JScript运行时错误:'document.Default.UserInputTextBox'为null或不是对象
请帮助解决此问题
答案 0 :(得分:3)
在尝试访问dom中的元素之前,你必须等待DOM准备好; onload事件侦听器可以等待加载整个文档,包括images和css ...这可能是不受欢迎的。
<head>
<script type="text/javascript" charset="utf-8">
// wait for the DOCUMENT to become ready.
window.onload=function(){
walkmydog()
}
</script>
</head>
以下是克服此类问题的详细说明:http://www.javascriptkit.com/dhtmltutors/domready.shtml
很多人使用javascript框架,比如jQuery,MooTools,YUI,来克服浏览不兼容问题。
答案 1 :(得分:1)
在提醒用户注意此类更改之前,我认为动态改变用户焦点不是为了获取可访问性的最佳利益。您可以执行的操作是将用户重定向到指向相关文档对象的id属性的片段URI。这样您就不必使用任何JavaScript。
因此,例如,如果用户请求此URI的页面:
http://example.com/page.html
您可以使用ASP代码和HTTP 302代码将用户重定向到此页面:
http://example.com/page.html#myInputIDValue
这将假设有问题的输入字段具有以下属性:
ID = “myInputIDValue”