我试图让我的js在我的表格框中垂直列出我的名字,但它只是在HORIZONTALLY,你知道为什么吗?谢谢。 这是我的剧本:
// initialize the counter and the array
var numnames=0;
var names = new Array();
function SortNames() {
// Get the name from the text field
thename=document.theform.newname.value;
// Add the name to the array
names[numnames]=thename;
// Increment the counter
numnames++;
// Sort the array
names.sort();
document.theform.sorted.value=names.join("\n");
}
答案 0 :(得分:2)
该代码有几个问题,但如果表单字段确实存在,那么您引用的名称是字段的名称,而sorted
是textarea
,它应该是基本上工作:Example。所以我的猜测是,sorted
代之以input type="text"
。将其更改为textarea
。
非主题(略):FWIW,我提到的问题:
thename
变量,因此成为The Horror of Implicit Globals的牺牲品。numnames
变量是不必要的(以及维护问题);只需使用names.length
。new
调用的函数)时才在函数中使用首字母大写字母),并使用小写的所有其他功能。所以sortNames
而不是SortNames
,或更好,addNameToList
或类似,因为不只是对名称进行排序。另外,建议var names = [];
超过var names = new Array();
,但它们都有效。