尝试显示随机任务时出现对象HTMLInputElement错误
object HTMLInputElement error when trying to display random task
所以我试图显示我创建的数组中的随机字符串。我的消息的计数部分有效,第二部分应该显示,数组中的随机任务显示错误。我没有正确使用parseInt和Math.random函数吗?我不需要对这个数字进行四舍五入,因为parseInt将其转换为整数,对吗?
var tasks = [];
// Function called when the form is submitted.
// Function adds a task to the global array.
function addTask() {
'use strict';
// Get the task:
var task = document.getElementById('task');
// Reference to where the output goes:
var output = document.getElementById('output');
// For the output:
var message = '';
if (task.value) {
// Add the item to the array:
tasks[tasks.length] = task;
var randomNum = tasks.length;
var randomTask = parseInt((Math.random() * randomNum), 10);
var randomMsg = tasks[randomTask];
// Update the page:
message = 'You have ' + tasks.length + ' task(s) in your to-do list.'n';
message += 'Random Task: ' + randomMsg;
if (output.textContent !== undefined) {
output.textContent = message;
} else {
output.innerText = message;
}
} // End of task.value IF.
// Return false to prevent submission:
return false;
} // End of addTask() function.
// Initial setup:
function init() {
'use strict';
document.getElementById('theForm').onsubmit = addTask;
} // End of init() function.
window.onload = init;
此处:
tasks[tasks.length] = task;
您正在向数组的输入添加一个引用。因此,每次运行时,都会向同一输入添加另一个引用。也许你的意思是:
tasks[tasks.length] = task.value;
所以tasks是一个任务名称数组。剩下的应该没问题,不过我会用
tasks.push(task.value);
和
if (typeof output.textContent == 'string') {
output.textContent = message;
} else {
output.innerText = message;
}
相关文章:
- 引用对象中的通用值
- jQuery匹配JSON对象的部分文本
- 节点导出返回一个空对象
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- 全局变量和全局对象的属性之间有什么区别吗
- 比较从函数和生成的日期对象
- Javascript,访问一个主要对象模块模式中的每个对象
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 调整窗口大小时,可拖动的对象会出现在容器外部
- 如何使用javascript从主svg对象动态创建svg视图框
- 如何使用json将对象列表从java转换为javascript
- 序列化数据属性中对象的最可靠方法
- 如何访问声音管理器2创建的声音对象
- FabricJs-限制主对象内添加对象的移动区域
- Javascript(Angular)从一个对象数组到第二个数组查找值
- 值对象在某个变量发生更改后发生更改
- 如何为json对象中的段发送array[]
- Chrome开发工具(如何知道我在调用哪个javascript对象)