如何在表单域中显示页面标题
How to display page title in form field?
我想使用纯JavaScript在表单输入字段中显示页面标题。
我已经试过了,但它不起作用。 我做错了什么?
<input type="text" value="javascript:document.title;"/>
另外,我如何检查输入字段是否确实存在,如果是这样,则什么也不做。我想做这个检查以避免JS错误。
不,它不会。 value
永远不会执行。试试这个:
<title>title text here</title>
<!-- ... -->
<input type="text" id="titleinput">
<script>
var theInput = document.getElementById('titleinput')
if (theInput) {
theInput.value = document.title;
}
</script>
编辑:展示了如何测试输入是否存在,并删除了查找标题的神秘方式,因为有更好的方法。虽然,在这种情况下,你可能知道你已经创建了输入字段,并认为它在那里是理所当然的(如果不是,你的程序应该出错,就像如果你从代码本身中删除一行,它应该犯错误。我只会对我无法控制的 HTML 进行这样的检查。这可能是个人选择,我知道我没有做足够的防御性编程。
编辑2:jasonscript有一点,但我认为这会更加混淆OP。如果你想要一个最佳实践的答案,你可以做一些这样的事情,以避免全局变量:
(function(theInput) {
if (theInput) {
theInput.value = document.title;
}
})(document.getElementById('titleinput'));
value 属性是一个字符串,如果你在其中放置一些 JS,它不会执行。
在 DOM 中输入准备就绪后,您可以使用 JS 设置其值:
<input type="text" value="">
<script>
document.querySelector('input').value = document.title;
</script>
而querySelector
将为您提供DOM中的第一个input
元素。
具体来说,您可以将任何 css 选择器传递给该方法,例如以下代码中的 ID 选择器。请注意querySelector
使用的不同参数:
<input type="text" value="" id="titleInput">
<script>
document.querySelector('#titleInput').value = document.title;
</script>
有关querySelector
的更多信息,请访问选择器 api 规范。
这将起作用:
HTML:
<title>awesome site</title>
<input type="text" id="textinput" value=""/>
JAVASCRIPT:
<script>
var title = document.title;
var textinput = document.getElementById('textinput');
if (textinput) {
textinput.value = title;
}
</script>
或更短:
<script>
document.getElementById('textinput').value = document.title;
</script>
相关文章:
- 当我悬停使用php连接到mysql的图像时显示标题
- 如何使用 bootstrap3 和 php 突出显示标题中的活动页面
- chart js:如何显示标题或标签
- 从下拉菜单选项中显示“标题”标签
- 如何在可展开菜单中正确显示标题
- Spotify 应用程序 - 列表不显示播放列表的曲目,只显示标题
- 在 asp.net 中使用 javascript 显示标题属性消息
- 引导灯箱:显示标题属性中的图像说明
- 在浏览器的选项卡中显示标题
- 如何按焦点在 HTML 元素上显示标题
- 加载随机背景音乐并显示标题
- 如何使用ES6 angular 1.3控制器显示标题
- 在图像下方垂直和水平居中显示标题
- 如何使用d3.js在SVG图表上居中显示标题
- 在网页上显示标题或替换文本
- 如何有一个淘汰网格显示标题和基于下拉结果的数据
- 谷歌地图显示标题的信息框
- 仅在切换类时显示标题和段落
- JQuery在图像悬停显示标题标签内容,可能的
- JQuery周日历:在初始加载时只显示标题