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

4th*_*ace 0 html javascript forms

我想使用普通的javascript在表单输入字段中显示页面标题.

我试过这个,但它不起作用.我究竟做错了什么?

<input type="text" value="javascript:document.title;"/>
Run Code Online (Sandbox Code Playgroud)

此外,如何检查输入字段是否实际存在,如果是,则不执行任何操作.我想做这个检查以避免JS错误.

Ama*_*dan 5

不,它不会.value从未被执行过.试试这个:

<title>title text here</title>

<!-- ... -->

<input type="text" id="titleinput">
<script>
  var theInput = document.getElementById('titleinput')
  if (theInput) {
    theInput.value = document.title;
  }
</script>
Run Code Online (Sandbox Code Playgroud)

编辑:显示如何测试输入的存在,并删除了找到标题的神秘方式,因为有更好的方法.虽然,在这种情况下,你可能知道你已经创建了输入字段,并认为它在那里(你的程序应该出错,如果它不是,就像你删除一行时应该出错从代码本身开始.我只会对HTML进行这样的检查,而我无法控制.虽然这可能是个人选择,但我知道我没有做足够的防御性编程.

EDIT2:jasonscript有一个观点,但我认为它会更多地混淆OP.如果你想要一个最佳实践答案,你可以做一些这样的,以避免全局变量:

(function(theInput) {
  if (theInput) {
    theInput.value = document.title;
  }
})(document.getElementById('titleinput'));
Run Code Online (Sandbox Code Playgroud)