有效性检查赢得';在我的javascript代码中不起作用

有效性检查赢得';在我的javascript代码中不起作用,javascript,html,arrays,Javascript,Html,Arrays,我正在尝试创建一个简单的任务列表,用户可以随意添加和删除任务,但我很难使用删除功能。我需要验证用户输入以检查它是否是一个数字,然后继续从数组中删除该元素。当我测试我的程序时,即使我输入了一个数字,我也会得到一个警告,说我的输入无效。我做错了什么 (函数(){ //存储任务的变量: var任务=[]; //提交表单时调用的函数。 //函数将任务添加到全局数组中。 函数addTask(){ "严格使用",; var task=document.getElementById('task'); var

我正在尝试创建一个简单的任务列表,用户可以随意添加和删除任务,但我很难使用删除功能。我需要验证用户输入以检查它是否是一个数字,然后继续从数组中删除该元素。当我测试我的程序时,即使我输入了一个数字,我也会得到一个警告,说我的输入无效。我做错了什么

(函数(){
//存储任务的变量:
var任务=[];
//提交表单时调用的函数。
//函数将任务添加到全局数组中。
函数addTask(){
"严格使用",;
var task=document.getElementById('task');
var output=document.getElementById('output');
var消息=“”;
if(task.value){
tasks.push(task.value);
消息='要做';
对于(var i=0,count=tasks.length;i';
}
消息+='';
output.innerHTML=消息;
}//任务结束。如果有,则返回值。
//返回false以防止提交:
返回false;
}//addTask()函数的结尾。
函数deleteTask(){
"严格使用",;
var deletelement=prompt('要删除哪个任务?','输入任务编号');
var消息=“”;
//检查输入的有效性
if((typeof deletelement=='number')){
var index=tasks.index0f(deleteElement);
如果(索引>-1){
任务.拼接(索引,1);
}
/*document.getElementById('output')='';
消息='要做';
对于(var i=0,count=tasks.length;i';
}
消息+='';
output.innerHTML=消息*/
}
否则{
警报(“输入必须是数字”);
}
返回false;
}
//初始设置:
函数init(){
"严格使用",;
document.getElementById('add_task')。onclick=addTask;
document.getElementById('delete')。onclick=deleteTask;
}//init()函数的结尾。
window.onload=init;
})();
/*
深蓝色:212B40
灰蓝色:547B97
灰绿蓝:坏的
浅绿色:C2E078
*/
/*
深蓝色:1B1D26
深绿色:425955
灰绿色:778C7A
灰白色:F1F2D8
谭:BFBD9F
*/
身体{
字体系列:“Lucida Grande”、“Lucida Sans Unicode”、Verdana、Arial、Helvetica、Sans serif;
字体大小:12px;
颜色:#1b1d26;
背景色:#f1f2d8;
}
p、 h1,表单,按钮{边框:0;边距:0;填充:0;}
.spacer{clear:两者;高度:1px;}
/*-------我的表格--------*/
形式{
保证金:0自动;
宽度:400px;
填充:14px;
背景色:#ffffff;
边框:实心2px#425955;
}
/*------风格化------------*/
h1{
字体大小:14px;
字体大小:粗体;
边缘底部:8px;
}
氢{
明确:两者皆有;
}
p{
字体大小:11px;
颜色:#666666;
边缘底部:20px;
边框底部:实心1px#BFBD9F;
垫底:10px;
}
标签{
显示:块;
字体大小:粗体;
文本对齐:右对齐;
宽度:140px;
浮动:左;
}
.小{
颜色:#666666;
显示:块;
字体大小:11px;
字体大小:正常;
文本对齐:右对齐;
宽度:140px;
}
挑选{
浮动:左;
字体大小:12px;
填充物:4px2px;
边框:实心1px#BFBD9F;
宽度:200px;
利润率:2px20px10px;
}
输入{
浮动:左;
字体大小:12px;
填充物:4px2px;
边框:实心1px#BFBD9F;
宽度:200px;
利润率:2px20px10px;
}
#添加任务,#删除{
明确:两者皆有;
左边距:150像素;
宽度:125px;
高度:31px;
背景#F1F2D8;
文本对齐:居中;
线高:20px;
颜色:#000000;
字体大小:12px;
字体大小:粗体;
}
#输出{
明确:两者皆有;
边缘底部:10px;
颜色:蓝色;
}

待办事项清单
即使我输入了一个数字,我也会收到警告,说我的输入无效

Prompt以字符串格式为您提供输入的文本,因此该文本类型为string。 这不是检查用户是否输入数字的正确方法

正确的方法是,具有实用功能

function isNumber(n) {
  return !isNaN(parseFloat(n)) && isFinite(n);
}
然后检查

if( (isNumber(deleteElement)){
---

您还可以尝试将数字包装到parseInt()中。这应该是一个数字值,以防它被保存为数组中的字符串。

是否检查数组中是否存在数字?数组索引也以0开头。只是想知道,何时使用“typeof”作为条件?我是j.s.的新手,所以我还在学习这一切