Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在表单字段中显示页面标题?_Javascript_Html_Forms - Fatal编程技术网

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

Javascript 如何在表单字段中显示页面标题?,javascript,html,forms,Javascript,Html,Forms,我希望使用纯javascript在表单输入字段中显示页面标题 我试过这个,但不起作用。我做错了什么 不,不会值从不执行。请尝试以下方法: 此处的标题文本 var theInput=document.getElementById('titleinput') 如果(输入){ Input.value=document.title; } 这将起作用: HTML: <title>awesome site</title> <input type="text" id="

我希望使用纯javascript在表单输入字段中显示页面标题

我试过这个,但不起作用。我做错了什么


不,不会<代码>值从不执行。请尝试以下方法:

此处的标题文本
var theInput=document.getElementById('titleinput')
如果(输入){
Input.value=document.title;
}
这将起作用:

HTML

<title>awesome site</title>



<input type="text" id="textinput" value=""/>
<script>
var title = document.title;
var textinput = document.getElementById('textinput');
if (textinput) {
textinput.value = title;
}
</script>
awesome站点
JAVASCRIPT

<title>awesome site</title>



<input type="text" id="textinput" value=""/>
<script>
var title = document.title;
var textinput = document.getElementById('textinput');
if (textinput) {
textinput.value = title;
}
</script>

var title=document.title;
var textinput=document.getElementById('textinput');
如果(文本输入){
textinput.value=标题;
}

或更短:

<script>
document.getElementById('textinput').value = document.title;
</script>

document.getElementById('textinput')。value=document.title;

value属性是一个字符串,如果在其中放置一些JS,它将不会执行

在DOM中输入就绪后,您可以使用JS设置其值:

<input type="text" value="">
<script>
    document.querySelector('input').value = document.title;
</script>

有关查询选择器的更多信息,请访问。

谢谢!我在OP中添加了一条注释:您能演示如何检查输入字段的存在性吗?您可以像这样检查输入字段的存在性
var theInput=document.getElementById('titleinput');如果(theInput.length>0){//此处的代码}@ilovebali:这是不正确的。如果您有一个
NodeList
,例如调用
querySelectorAll
getElementsByTagName
(但是
>0
是多余的,
如果(NodeList.length)
足够,因为
0
是错误的,所有其他
length
值都是真实的),则可以使用该方法。如果您使用
getElementById
,您将得到一个
节点
(truthy)或
null
(falsy),因此我在答案中所写的是正确的;除非程序员将
getElementById
的结果放入
length
属性,否则该结果不应具有该属性。该代码应包装在函数表达式(IIFE)中,以避免不必要的全局variables@Amadan
getElementsByTagName
实际返回
HTMLCollection
,而
querySelectorAll
会返回
NodeList
。它们最大的区别是
getElementsByTagName
提供了一个动态集合,
querySelectorAll
提供了一个静态集合。例如,使用
querySelectorAll
可以在迭代中删除集合的项,但使用
getElementsByTagName
可能会出现意外情况。没有说明如何使用此选项-您需要包括有关放置此代码的位置的信息。它必须在与正文加载或文档准备就绪(如果使用jQuery)等相关的事件处理函数中。真正的问题是,在值中设置某些内容并不能将其作为javascript语句进行计算。@4thSpace:事实上,它确实起作用。然而,正如lukevp所说,它并没有说明将其放置在何处才能有效。另一个问题是,除非询问者了解
querySelector
的功能,否则它将不分青红皂白地将更改应用于文档中的第一个
输入,而不一定是他想要的:)仍然。。。更好。@Amadan好吧,把
querySelector
留给提问者做进一步的研究怎么样?因为他会注意到这一点,正如你所指出的:)删除了我的否决票,谢谢你的快速更新,现在的答案好多了。