在javascript中创建表单元素

在javascript中创建表单元素,javascript,forms,appendchild,createelement,Javascript,Forms,Appendchild,Createelement,我无法在body标记中创建表单元素并直接在Javascript中显示它 这是我的密码: document.addEventListener('load', function(event){ var elemBody = document.getElementsByTagName('body'); var elemForm = document.createElement('form'); }); 我试过和孩子一起玩,但没有成功 (我是法国人)elemBody,如上所述,它包含一

我无法在body标记中创建表单元素并直接在Javascript中显示它

这是我的密码:

document.addEventListener('load', function(event){
    var elemBody = document.getElementsByTagName('body');
    var elemForm = document.createElement('form');
});
我试过和孩子一起玩,但没有成功


(我是法国人)

elemBody
,如上所述,它包含一个数组,该数组又包含一个元素,即html文档的单个
正文
元素。调用
elemBody.appendChild
将导致错误,因为您试图将
elemForm
添加到数组(使用未为数组定义的方法),而不是DOM元素。如果按以下方式更新代码,您可能会获得更好的成功:

var elemBody = document.getElementsByTagName('body')[0];
var elemForm = document.createElement('form');
elemBody.appendChild(elemForm);
当然,如果不设计新表单的样式或向表单中添加一些实际内容,您将无法直观地检测到新表单的存在

更新

这在这里比在评论中容易。如果您希望能够直观地看到您添加的内容,请尝试以下操作:

var elemBody = document.getElementsByTagName('body')[0];
var elemForm = document.createElement('form');
elemForm.appendChild(document.createElement('textarea'));
elemBody.appendChild(elemForm);
更新2

以下是完整的测试文件:

<html>
<head>
<script type="text/javascript">
function doit() {
  var elemBody = document.getElementsByTagName('body')[0];
  var elemForm = document.createElement('form');
  elemForm.appendChild(document.createElement('textarea'));
  elemBody.appendChild(elemForm);
}
</script>
</head>
<body onload="doit()"></body>
</html>

函数doit(){
var elemBody=document.getElementsByTagName('body')[0];
var elemForm=document.createElement('form');
appendChild(document.createElement('textarea');
elemBody.appendChild(elemForm);
}

如果我使用css文件来设置表单元素的样式,那么它不起作用,为什么?好吧,让我们来解决当前的问题。为什么不创建一个
textarea
并将其附加到
elemForm
中,这样您就可以证明表单正在显示。如果在此之后需要帮助设置表单样式,最好创建一个单独的问题。我创建了一个
select
标记,使用
createElement
appendChild
1,它甚至不会出现在源代码中。如果为子项添加了无
选项的选择
标记,则不会显示该选项。2.当您使用JavaScript添加元素时,在查看源代码时不会看到它们。那么,我将如何看到它们呢?