javascript - 如何在没有所有 HTML 的情况下将焦点设置到 HTML 输入元素?

标签 javascript html dom tapestry

一、背景: 我正在使用 Tapestry 4,因此任何给定页面的 HTML 都是由分散在应用程序中的各种 HTML 片段拼接在一起的。对于我正在开发的组件,我没有 <body>标签,所以我不能给它 onload属性。

该组件有一个输入元素,在页面加载时需要获得焦点。有谁知道如何在页面加载时将焦点设置到文件输入(或任何其他文本类型输入)而无需访问正文标记?

我尝试将脚本插入正文中,例如
document.body.setAttribute('onload', 'setFocus()')
(其中 setFocus 是一个将焦点设置到文件输入元素的函数),但这不起作用。但我不能说我对此感到惊讶。

编辑:
如前所述,我确实需要使用页面组件来执行此操作。我最终将文件类型输入添加到我们用来将焦点放在页面上第一个可编辑和可见输入的脚本中。在研究这个问题时,我没有发现这样做有任何安全问题。

最佳答案

<script>
window.onload = function()  {
     document.getElementById('search_query').select();
    //document.getElementById('search_query').value = ''; 
    // where 'search_query' will be the id of the input element
};
</script>

我认为一定有用!!!

关于javascript - 如何在没有所有 HTML 的情况下将焦点设置到 HTML 输入元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/808908/

相关文章:

css - 将点 Bootstrap 符用于带有 Bootstrap 网格的食物菜单

javascript - ng-repeat 不更新 html

javascript - 如何定位父级输入值的兄弟li? DOM

javascript - 动态生成 Mocha 测试

javascript - D3 : zoom to bounding box with d3-tiles

javascript - 如何从angularjs访问变量express

javascript - 为什么我会通过 await Promise.all 收到未处理的 Promise Rejection

javascript - 如何使用javascript(客户端)获取指纹

html - :disabled:valid CSS issue 的解决方法

java - 如何从Dom解析转换为SAX解析