我使用简单的方法makeInput()动态创建HTML表单,并且想知道如何使文本输入框每行显示一个,而不是从右到左的方式。截至目前,当您单击“添加课程”按钮时,它会在旧文本旁边添加新文本输入,而不是在新行上添加。这是我到目前为止的代码:
<html>
<head>COURSES</head>
<title>Add Courses</title>
<script type="text/javascript">
var x = 0;
var f = document.createElement("form");
f.setAttribute('method',"post");
f.setAttribute('action',"tron.php");
f.id = "form1";
var s = document.createElement("input"); //input element, Submit button
s.setAttribute('type',"submit");
s.setAttribute('value',"Submit Courses");
f.appendChild(s);
function makeInput()
{
var i = document.createElement("input");
i.type = "text";
i.name = "cname"+ x;
i.id = "cname"+ x;
f.appendChild(i);
document.getElementById("test").appendChild(f);
x = x+1;
document.getElementById("course").innerHTML= "Number of courses: " + x;
}
</script>
<body>
<p id="course">Number of courses: </p>
<button onclick="makeInput()">Add Course</button>
<p id="test"></p>
</body>
</html>
答案 0 :(得分:0)
我通常动态创建div和/或跨html表单,以便您也可以将CSS应用于它们。 如果你把你的输入框放在div中,它们应该一次一行,除非你特意添加css否则。
答案 1 :(得分:0)
只是将评论作为答案实施。
更改
document.getElementById("test").appendChild(f);
以下
document.getElementById("test").appendChild(f).innerHTML += '<br />';