Javascript 韩元';不算数

Javascript 韩元';不算数,javascript,html,Javascript,Html,有人能告诉我为什么我的计算按钮不能计算吗。它甚至不会将任何错误消息抛出屏幕,但我的清除按钮确实起作用。这可能是一件小事,但我一辈子都想不出来 var$=函数(id){ 返回文档.getElementById(id); } var virusRemovalPrice=20.00; var WebItemakingCost=75.00; var计算机服务成本=100.00; var calculateTotal=函数(){ var virusremovation=parseFloat($(“vir

有人能告诉我为什么我的计算按钮不能计算吗。它甚至不会将任何错误消息抛出屏幕,但我的清除按钮确实起作用。这可能是一件小事,但我一辈子都想不出来

var$=函数(id){
返回文档.getElementById(id);
}
var virusRemovalPrice=20.00;
var WebItemakingCost=75.00;
var计算机服务成本=100.00;
var calculateTotal=函数(){
var virusremovation=parseFloat($(“virusremovation”).value);
var websiteMaking=parseFloat($(“websiteMaking”).value);
var computerOptimizationAndSetUp=parseFloat($(“computerOptimizationAndSetUp”).value);
var totalCost=parseFloat($(“totalCost”).value));
if(isNaN(病毒去除)| |病毒去除<0){
警报(“值必须是数字且至少为零”);
$(“病毒删除”).focus()
}else if(isNaN(网页制作)| |网页制作<0){
警报(“值必须是数字且至少为零”);
$(“WebItemMaking”).focus()
}else if(isNaN(计算机优化和设置)| |计算机优化和设置<0){
警报(“值必须是数字且至少为零”);
$(“计算机优化和设置”).focus()
}否则{
做{
var ii=0;
var成本=((virusRemovalPrice*virusremovation)+(websiteMakingCost*websiteMaking)+(computerServicingCost*computerOptimizationAndSetUp));
$(“成本”).value=cost.toFixed(2);//最终总成本
如果(成本>1){
提醒(“您的总数为“+成本+”希望很快见到您!”);
}
}而(ii=0)
}
};
var clearValues=函数(){
var virusremovation=parseFloat($(“virusremovation”).value=“”);
var websiteMaking=parseFloat($(“websiteMaking”).value=“”);
var computerOptimizationAndSetUp=parseFloat($(“computerOptimizationAndSetUp”).value=“”);
var totalCost=parseFloat($(“totalCost”).value=“”);
}

总成本
病毒清除:


网站设计:

计算机设置:


您的总成本为:

问题在于输入按钮中有
id=“calculateTotal”
。元素ID会自动转换为顶级变量,因此这将替换名为
calculateTotal
的函数。只需给函数一个不同于按钮ID的名称

你也有打字错误。总成本字段的ID为
TotalCost
,但代码使用
$('TotalCost')
和$('Cost')

最好在
onclick
中进行计算,而不是在
onblur
中进行计算。否则,您必须单击按钮,然后单击其他内容才能看到结果

clearValues
函数中,不需要分配变量和调用
parseFloat
。只需将每个值设置为空字符串。您也可以只使用
,将表单中的所有输入自动重置为初始值

var$=函数(id){
返回文档.getElementById(id);
}
var virusRemovalPrice=20.00;
var WebItemakingCost=75.00;
var计算机服务成本=100.00;
var calculateTotal=函数(){
var virusremovation=parseFloat($(“virusremovation”).value);
var websiteMaking=parseFloat($(“websiteMaking”).value);
var computerOptimizationAndSetUp=parseFloat($(“computerOptimizationAndSetUp”).value);
var totalCost=parseFloat($(“totalCost”).value));
if(isNaN(病毒去除)| |病毒去除<0){
警报(“值必须是数字且至少为零”);
$(“病毒删除”).focus()
}else if(isNaN(网页制作)| |网页制作<0){
警报(“值必须是数字且至少为零”);
$(“WebItemMaking”).focus()
}else if(isNaN(计算机优化和设置)| |计算机优化和设置<0){
警报(“值必须是数字且至少为零”);
$(“计算机优化和设置”).focus()
}否则{
做{
var ii=0;
var成本=((virusRemovalPrice*virusremovation)+(websiteMakingCost*websiteMaking)+(computerServicingCost*computerOptimizationAndSetUp));
$(“总成本”).value=cost.toFixed(2);//最终总成本
如果(成本>1){
提醒(“您的总数为“+成本+”希望很快见到您!”);
}
}而(ii=0)
}
};
var clearValues=函数(){
$(“病毒清除”).value=“”;
$(“网站制作”)。值=”;
$(“计算机优化和设置”).value=“”;
$(“总成本”)。值=”;
}

总成本
病毒清除:


网站设计:

计算机设置:


您的总成本为:

如果您正在使用jQuery,为什么要重新定义
$
呢?在问题中您在哪里使用jQuery?您正在重新定义$。为什么?有什么特别的需要吗?因为他就是这样开始作业的。哈哈。我真的不知道原因,我只是把它忘了。他是怎么默认的。非常感谢!这是有道理的。很遗憾,你在45分钟内教给我的东西比我在8周的课堂上学到的要多,哈哈。为了澄清并确保我理解,主要的问题是我的buttonID和我的变量是一样的?对的在我之外,我相信成本有3个变量?是的,这就是为什么没有运行任何东西。您没有看到错误,说
calculateTotal
不是Javascript控制台中的函数吗?如果在控制台中键入
calculateTotal
,它将显示
,而不是函数。我希望他们在课堂上提到过使用开发人员工具。只需记事本++lol。我现在要研究一下!再次感谢你!