在以下代码中,我收到错误
无法读取未定义
的属性“Area Sorted”
当我拨打电话
时document.SortingForm.AreaSorted.value = Names.join("\n");
我已经过了一百次代码,我不明白为什么会发生这种情况。我真的很感激任何帮助。
sort.html
<!doctype html>
<html>
<title>Sort</title>
<head>
<script type="text/javascript" src="sort.js">
</script>
</head>
<body>
<h1>Sorting String Arrays</h1>
<p>Enter two or more names in the field below,
and the sorted list of names will appear in the
text area.</p>
<form name=”SortingForm”>
Name:
<input type="text" name="FieldWord" size="20" />
<input type="button" name="ButtonAddWord" value="Add" onClick="SortNames();" />
<br/>
<h2>Sorted Names</h2>
<textarea name=”AreaSorted” cols=”60” rows=”10” >
The sorted names will appear here.
</textarea>
</form>
</body>
</html>
sort.js
var Names = new Array();
function SortNames()
{
Name = document.getElementsByName("FieldWord")[0].value;
Names.push(Name);
Names.sort();
document.SortingForm.AreaSorted.value = Names.join("\n");
}
答案 0 :(得分:2)
您在表单名称周围有奇怪的语音标记:”
。我有点惊讶的是,使用它们虽然无效。
答案 1 :(得分:0)
为什么不尝试在textarea中添加id并使用:
document.getElementById('AreaSorted');
无论形式如何,这应该始终有效。
此外,表单名称前后的引号似乎都已关闭,请尝试重新输入。
答案 2 :(得分:0)
AreaSorted不是id ..所以要么使用
document.getElementByName('AreaSorted')[0]
或
..给你的元素一个id并使用document.getElementById
,我建议。
答案 3 :(得分:0)
我不知道语法的起源,但显然它不起作用(不再)。要按名称引用表单,您应该使用document.forms
。
document.forms.SortingForm.elements.AreaSorted.value = names.join("\n");
但推荐的方法是为输入分配id
,然后使用document.getElementById
。