【发布时间】:2015-02-05 01:49:09
【问题描述】:
所以我有这个表格,它接收一串数字,需要在每个分号和空格处分割。然后,它对数字进行排序并返回排序后的列表。
由于某种原因,当我单击按钮时,它不会在文本框中发布值。
谁能帮我解决我的问题!谢谢。
编辑1:将名称添加到表单并添加字段集
function sort() {
var allNumbers = document.mainForm.mainSet.numbers.value.split("; ");
allNumbers.parseFloat;
for (var i = 0; i < allNumbers.length; i++) {
allNumbers[i] = parseInt(allNumbers[i], 10);
}
allNumbers.sort();
document.mainForm.mainSet.sorted.value = allNumbers.toString();
}
<form name="mainForm">
<fieldset name="mainSet">
Enter Numbers:
<input type="text" class="text" name="numbers" />
<br/>
<br/>Select Option:
<select name="sortOption" id="dropDown">
<option value="Ascending" class="select">Ascending</option>
<option value="Descending" class="select">Descending</option>
</select>
<br/>
<br/>Sorted Numbers:
<input type="text" class="text" name="sorted">
<br/>
<br/>
<input type="button" value="Sort Numbers" id="submit" onclick="sort()" />
</fieldset>
</form>
【问题讨论】:
-
您查看控制台输出 (F12) 了吗?
-
您采取了哪些基本调试步骤?您是否查看过 allNumbers 使用
console.log()语句或在调试器中的内容?您的首要任务是逐行跟踪您的代码并找出问题所在。始终查看控制台是否有错误。将调试语句插入到您需要查看的输出变量中(或了解如何在调试器中单步调试您的代码)。通过所有开发人员必须学习的简单调试/故障排除技术,您的答案将显而易见。 -
@JBaczuk 我只是检查了控制台输出,它给了我一个错误,在我声明 var allNumbers 的行中显示“Uncaught TypeError: Cannot read property 'value' of undefined”
-
@Harbus 那是因为您必须使用 document.getElementById('numbers') 按类或 ID 查找 DOM 元素。
-
@Harbus,通常在最初提出问题时应该提供这类信息(错误消息)。之后,最好edit your question 提供该详细信息而不是添加评论。 SO 的工作方式与论坛不同,旨在成为一个有用的 QA 网站,无需所有闲聊。欢迎来到 SO :)
标签: javascript html arrays string parsing