JavaScript将数字变量添加到不同函数中
在JavaScript中,我想添加两个数字变量:JavaScript将数字变量添加到不同函数中,javascript,html,forms,Javascript,Html,Forms,在JavaScript中,我想添加两个数字变量:film\u cost和delivery\u cost,并将它们显示在警报框中。这些变量位于两个不同的函数中 function getcost() { var cost = document.getElementsByName("format"); var len = cost.length for (i=0;i<len;i++) { if(cost[i].checked) {
film\u cost
和delivery\u cost
,并将它们显示在警报框中。这些变量位于两个不同的函数中
function getcost()
{
var cost = document.getElementsByName("format");
var len = cost.length
for (i=0;i<len;i++)
{
if(cost[i].checked)
{
document.getElementById("data2").innerHTML = '£'+cost[i].value;
var film_cost = cost[i].value;
}
}
}
function add_delivery()
{
var delivery_cost = document.getElementsByName("delivery");
var len = delivery_cost.length
for (i=0;i<len;i++)
{
if(delivery_cost[i].checked)
{
var dvd_delivery = delivery_cost[i].value;
var total = dvd_delivery+film_cost;
alert(total);
}
}
}
函数getcost()
{
var成本=document.getElementsByName(“格式”);
var len=成本。长度
对于(i=0;i第二个函数中未定义胶片成本。第二个函数中未定义胶片成本。您需要在add\u delivery()函数中访问胶片成本变量
我建议您这样做:
function getcost()
{
var cost = document.getElementsByName("format");
var len = cost.length;
var film_cost = 0;
for (i=0;i<len;i++)
{
if(cost[i].checked)
{
document.getElementById("data2").innerHTML = '£'+cost[i].value;
film_cost = parseFloat(cost[i].value);
}
}
return film_cost;
}
function add_delivery()
{
var delivery_cost = document.getElementsByName("delivery");
var len = delivery_cost.length;
for (i=0;i<len;i++)
{
if(delivery_cost[i].checked)
{
var dvd_delivery = parseFloat(delivery_cost[i].value);
var total = dvd_delivery + getcost();
alert(total);
}
}
}
函数getcost()
{
var成本=document.getElementsByName(“格式”);
var len=成本。长度;
var薄膜成本=0;
对于(i=0;i您需要在add_delivery()函数中访问film_cost变量
我建议您这样做:
function getcost()
{
var cost = document.getElementsByName("format");
var len = cost.length;
var film_cost = 0;
for (i=0;i<len;i++)
{
if(cost[i].checked)
{
document.getElementById("data2").innerHTML = '£'+cost[i].value;
film_cost = parseFloat(cost[i].value);
}
}
return film_cost;
}
function add_delivery()
{
var delivery_cost = document.getElementsByName("delivery");
var len = delivery_cost.length;
for (i=0;i<len;i++)
{
if(delivery_cost[i].checked)
{
var dvd_delivery = parseFloat(delivery_cost[i].value);
var total = dvd_delivery + getcost();
alert(total);
}
}
}
函数getcost()
{
var成本=document.getElementsByName(“格式”);
var len=成本。长度;
var薄膜成本=0;
对于(i=0;i变量film_cost的范围仅在第一个函数内;因此,调用第二个函数时,film_cost已经“死亡”
解决此问题更简单的方法是:
var film_cost;
function getcost()
{
var cost = document.getElementsByName("format");
var len = cost.length
for (i=0;i<len;i++)
{
if(cost[i].checked)
{
document.getElementById("data2").innerHTML = '£'+cost[i].value;
film_cost = cost[i].value;
}
}
}
function add_delivery()
{
var delivery_cost = document.getElementsByName("delivery");
var len = delivery_cost.length
for (i=0;i<len;i++)
{
if(delivery_cost[i].checked)
{
var dvd_delivery = delivery_cost[i].value;
var total = dvd_delivery+film_cost;
alert(total);
}
}
}
var薄膜成本;
函数getcost()
{
var成本=document.getElementsByName(“格式”);
var len=成本。长度
对于(i=0;i变量film_cost的范围仅在第一个函数内;因此,调用第二个函数时,film_cost已经“死亡”
解决此问题更简单的方法是:
var film_cost;
function getcost()
{
var cost = document.getElementsByName("format");
var len = cost.length
for (i=0;i<len;i++)
{
if(cost[i].checked)
{
document.getElementById("data2").innerHTML = '£'+cost[i].value;
film_cost = cost[i].value;
}
}
}
function add_delivery()
{
var delivery_cost = document.getElementsByName("delivery");
var len = delivery_cost.length
for (i=0;i<len;i++)
{
if(delivery_cost[i].checked)
{
var dvd_delivery = delivery_cost[i].value;
var total = dvd_delivery+film_cost;
alert(total);
}
}
}
var薄膜成本;
函数getcost()
{
var成本=document.getElementsByName(“格式”);
var len=成本。长度
对于(i=0;这里有一些问题,但根本问题是film\u cost
仅在get\u cost()中定义
是否要使用多个成本?看起来,格式
是html中的一组复选框…如果是,您是要合计电影成本还是只使用第一个?格式是一组单选按钮,就像交付一样。我希望将所选值加在一起,创建一个包含所选电影和交付的合计值。在在这种情况下,可以进行的优化是直接选择单选按钮,而不是通过使用伪选择器(而不是使用getElementsByName
)循环所有单选按钮。请尝试document.querySelector('input[name=format][checked]”)
仅获取选中的元素这里有一些问题,但根本问题是film\u cost
仅在get\u cost()中定义
是否要使用多个成本?看起来,格式
是html中的一组复选框…如果是,您是要合计电影成本还是只使用第一个?格式是一组单选按钮,就像交付一样。我希望将所选值加在一起,创建一个包含所选电影和交付的合计值。在在这种情况下,可以进行的优化是直接选择单选按钮,而不是通过使用伪选择器(而不是使用getElementsByName
)循环所有单选按钮。请尝试document.querySelector('input[name=format][checked]”)
仅获取选中的元素谢谢你的帮助变量现在出现在警告框中,但是它们不会相加而是合并在一起。我现在已经添加了HTML。很好的调用!检查我的编辑。你需要调用parseFloat()
和值s,因为交付成本[I].value
是一个字符串!我确实认为这与现在已排序的数据类型有关。谢谢:)我一定会按照您的建议重命名我的函数。没问题!调用很好,这是一个好习惯。:)感谢您的帮助,该变量现在出现在警报框中,但它们不是相加而是合并在一起。我现在已经添加了HTML。很好的调用!检查我的编辑。您需要使用中的值调用parseFloat()
,因为交付成本[I].value
是一个字符串!我确实认为这与现在已排序的数据类型有关。谢谢:)我一定会按照您的建议重命名我的函数。没问题!调用很好,这是一个好习惯。:)