为什么我的命名表格没有被退回?

时间:2012-05-01 10:25:45

标签: javascript dom

在以下代码中,我收到错误

  

无法读取未定义

的属性“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");
}

4 个答案:

答案 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