Javascript计算器第三部分问题
使用计算器模板,我编辑并添加了自己的部分 我希望用户能够选择纸张尺寸、张数和纸张重量 最终的计算结果是 (张数*纸张重量)*纸张尺寸 我无法正确添加纸张重量部分。(在代码中命名为gsm)Javascript计算器第三部分问题,javascript,Javascript,使用计算器模板,我编辑并添加了自己的部分 我希望用户能够选择纸张尺寸、张数和纸张重量 最终的计算结果是 (张数*纸张重量)*纸张尺寸 我无法正确添加纸张重量部分。(在代码中命名为gsm) A3 A4 A5 选择工作表 5张 10张 110 120 130 代码 //设置关联数组-纸张大小 var paper_size=新数组(); 纸张尺寸[“A3”]=2; 纸张尺寸[“A4”]=1; 纸张尺寸[“A5”]=0.5; //设置关联数组-图纸数量 var sheet_amount=新数组(
A3
A4
A5
选择工作表
5张
10张
110
120
130
代码
//设置关联数组-纸张大小
var paper_size=新数组();
纸张尺寸[“A3”]=2;
纸张尺寸[“A4”]=1;
纸张尺寸[“A5”]=0.5;
//设置关联数组-图纸数量
var sheet_amount=新数组();
活页金额[“无”]=0;
活页金额[“5张”]=5张;
活页金额[“10张”]=10;
//设置关联数组-gsm\U金额
var gsm_amount=新数组();
gsm_金额[“100”]=100;
gsm_金额[“110”]=110;
gsm_金额[“120”]=120;
gsm_金额[“130”]=130;
gsm_金额[“140”]=140;
函数getpaperchoice()
{
var paperchoice=0;
var theForm=document.forms[“weightform”];
var selectedsheets=form.elements[“selectedsheets”];
对于(变量i=0;i
请提供任何帮助和建议
Gsm按照建议更改为选定的Gsm,已进行了一半,但问题尚未解决…JavaScript数组不能这样工作。您想改用对象-
var paper_size={“A3”:2,“A4”:1,“A5”:0.5}代码>应var selectedgsm=form.elements[“gsm”]代码>而是var selectedgsm=form.elements[“selectedgsm”]代码>与表单元素名称和其他元素保持一致?Gsm根据建议更改为selectedgsm,中途但问题未解决。。。
<form action="" id="weightform" onsubmit="return false;">
<div>
<label class='radiolabel'><input type="radio" name="selectedsheets" value="A3" onclick="calculateTotal()" />A3</label><br/>
<label class='radiolabel'><input type="radio" name="selectedsheets" value="A4" onclick="calculateTotal()" />A4</label><br/>
<label class='radiolabel'><input type="radio" name="selectedsheets" value="A5" onclick="calculateTotal()" />A5</label><br/>
<select id="sheets" name='sheets' onchange="calculateTotal()">
<option value="None">Select Sheets</option>
<option value="5Sheets">5 Sheets</option>
<option value="10Sheets">10 Sheets</option>
</select>
<label class='radiolabel'><input type="radio" name="selectedgsm" value="100"/>110</label><br/>
<label class='radiolabel'><input type="radio" name="selectedgsm" value="110"/>120</label><br/>
<label class='radiolabel'><input type="radio" name="selectedgsm" value="120"/>130</label><br/>
<div id="totalWeight"></div>
</div>
</form>
//Set up an associative array - paper_size
var paper_size = new Array();
paper_size["A3"]=2;
paper_size["A4"]=1;
paper_size["A5"]=0.5;
//Set up an associative array - sheet_amount
var sheet_amount= new Array();
sheet_amount["None"]=0;
sheet_amount["5Sheets"]=5;
sheet_amount["10Sheets"]=10;
//Set up an associative array - gsm_amount
var gsm_amount= new Array();
gsm_amount["100"]=100;
gsm_amount["110"]=110;
gsm_amount["120"]=120;
gsm_amount["130"]=130;
gsm_amount["140"]=140;
function getpaperchoice()
{
var paperchoice=0;
var theForm = document.forms["weightform"];
var selectedsheets = theForm.elements["selectedsheets"];
for(var i = 0; i < selectedsheets.length; i++)
{
if(selectedsheets[i].checked)
{
paperchoice = paper_size[selectedsheets[i].value];
break;
}
}
return paperchoice;
}
function getsheetchoice()
{
var sheetchoice=0;
var theForm = document.forms["weightform"];
var selectedsheets = theForm.elements["sheets"];
sheetchoice = sheet_amount[selectedsheets.value];
return sheetchoice;
}
function getgsmchoice()
{
var gsmchoice=0;
var theForm = document.forms["weightform"];
var selectedgsm = theForm.elements["selectedgsm"];
gsmchoice = gsm_amount[selectedgsm.value];
return gsmchoice;
}
function calculateTotal()
{
var TotalWeight = (getsheetchoice() * getgsmchoice()) * getpaperchoice();
//display the result
var divobj = document.getElementById('totalWeight');
divobj.style.display='block';
divobj.innerHTML = "Total Weight "+TotalWeight;
}