Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将两个不同函数的总和相加为一个新函数?_Javascript_Html_Checkbox - Fatal编程技术网

Javascript 如何将两个不同函数的总和相加为一个新函数?

Javascript 如何将两个不同函数的总和相加为一个新函数?,javascript,html,checkbox,Javascript,Html,Checkbox,我之前发布了这个问题,但是留下了很多关于我的HTML代码的信息,所以我将在这里更新它 现在我有两个不同的功能,计算菜单上两个不同部分的总成本,开胃菜和主菜。现在我要做的是创建第三个函数,它将为我提供开胃菜和主菜的总成本 我想使用提交按钮触发此计算,然后通过输入文本显示值 以下是我尝试过的: var百分比=1.25; 函数AppSubTotal(){ var guestsQTY=+document.getElementById('guests')。值| | 0, 输入=document.getE

我之前发布了这个问题,但是留下了很多关于我的HTML代码的信息,所以我将在这里更新它

现在我有两个不同的功能,计算菜单上两个不同部分的总成本,开胃菜和主菜。现在我要做的是创建第三个函数,它将为我提供开胃菜和主菜的总成本

我想使用提交按钮触发此计算,然后通过输入文本显示值

以下是我尝试过的:

var百分比=1.25;
函数AppSubTotal(){
var guestsQTY=+document.getElementById('guests')。值| | 0,
输入=document.getElementsByName(“应用”),
appItemTotal=0;
var appsubtotal=0;
对于(变量i=0;i

估计来宾数量:您试图实现的目标听起来相当简单,但是您的代码有几个问题。您的开胃菜和总管输入字段返回字符串,包括
$
符号。我会将
$
移到输入字段之外,并且在输入字段中只包含数字-您仍然需要使用
js
Number()
转换字符串中的数字

然后在计算总数时,在提交单击事件上调用
GrandTotal()
,并在代码中包含如下内容:

function GrandTotal() {
  let appetizerTotalValue = document.getElementById('appsubtotal').value
  let mainDishTotalValue = document.getElementById('maindishtotal').value
  let grandTotalValue = document.getElementById('grandtotal')
  grandTotalValue.value = Number(appetizerTotalValue) + Number(mainDishTotalValue);
}
基本示例如下:

函数计算(){
console.log('calc clicked')
让first=document.getElementById('one').value;
设second=document.getElementById('two').value;
让result=document.getElementById('result');
log(typeof first)//test-返回字符串-需要转换为数字
console.log(秒)
console.log(结果)
result.value=编号(第一)+编号(第二);
}


您的函数处理的是逻辑和表示问题的混合,您正在利用DOM来维护应用程序状态。虽然这不是一个严格的错误,但这使得对应用程序进行推理、调试或改进变得更加困难。如果使用更结构化的方法(如使用框架时所遵循的方法),您可能会发现事情进展得更顺利。对于
元素,您不使用
.innerText
,而是使用
.value
。您没有问题——您的问题是什么?应该是
appsubtotal.innerText
什么?您声明
var appsubtotal=0。您根本不需要在
GrandTotal()
中声明它。