4th*_*ace 0 html javascript forms
我想使用普通的javascript在表单输入字段中显示页面标题.
我试过这个,但它不起作用.我究竟做错了什么?
<input type="text" value="javascript:document.title;"/>Run Code Online (Sandbox Code Playgroud)
此外,如何检查输入字段是否实际存在,如果是,则不执行任何操作.我想做这个检查以避免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>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)