javascript - 如何在表单字段中显示页面标题?

标签 javascript html forms

我想使用纯 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 进行这样的检查。但这可能是个人选择,我知道我没有做足够的防御性编程。

EDIT2:jasonscript 有一点,但我认为这会让OP更加困惑。如果您想要一个最佳实践答案,您可以做一些不同的事情,以避免全局变量:

(function(theInput) {
  if (theInput) {
    theInput.value = document.title;
  }
})(document.getElementById('titleinput'));

关于javascript - 如何在表单字段中显示页面标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27221767/

相关文章:

html - 覆盖可点击区域 - CSS

javascript - Window.Location.Href = 由选定的单选按钮值设置的变量

javascript - promise 中的超时循环在 promise 解决后永远不会执行?

javascript - 使用对象键进行 ng-switch

html - 嵌套 div 中的 z-index

html - 如何让文本垂直对齐到底部并根据需要填充其上方的空白区域?

php - 使用ajax如何将变量传递给两个不同的php脚本

javascript - javascript中的c()函数是什么意思?

javascript - 即使在使用对象时如何强制 Google Closure Compiler 重命名方法

javascript - 如何知道条形码扫描仪何时完成扫描 Javascript?