繁体   English   中英

HTML表单格式问题

[英]HTML form formatting issue

我正在使用简单的方法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> 

我通常会动态地在html表单周围创建div和/或spans,以便您也可以将CSS应用于它们。 如果将输入框放在div内,除非您专门添加css否则它们应该一次只一行。

只是将评论作为答案。

更改

document.getElementById("test").appendChild(f);

到以下

document.getElementById("test").appendChild(f).innerHTML += '<br />';

这是小提琴: http : //jsfiddle.net/UR4y7/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM