我得到ua和ub的总和并显示在tu文本框上。我乘以ua 和ga文本框并显示在uu文本框以及ub ang gb上。得到 uu和a的总和并显示在tt文本框中。我想得到商 tt和tu并在gpa文本框上显示,但它不起作用。请帮忙。 提前谢谢。
function sum(){
var ua = document.getElementById('ua').value;
var ub = document.getElementById('ub').value;
var result = parseInt(ua) + parseInt(ub);
if (!isNaN(result)) {
document.getElementById('tu').value = result;
document.getElementById('tu').dispatchEvent(new Event('change'));
}
}
function suma(){
var ua = document.getElementById('ua').value;
var ga = document.getElementById('ga').value;
var result = parseInt(ua) * parseInt(ga);
if (!isNaN(result)) {
document.getElementById('uu').value = result;
document.getElementById('uu').dispatchEvent(new Event('change'));
}
}
function sumb(){
var ub = document.getElementById('ub').value;
var gb = document.getElementById('gb').value;
var result = parseInt(ub) * parseInt(gb);
if (!isNaN(result)) {
document.getElementById('a').value = result;
document.getElementById('a').dispatchEvent(new Event('change'));
}
}
function s(){
var uu = document.getElementById('uu').value;
var a = document.getElementById('a').value;
var result = parseInt(uu) + parseInt(a);
if (!isNaN(result)) {
document.getElementById('tt').value = result;
document.getElementById('tt').dispatchEvent(new Event('change'));
}
}
function g(){
var tt = document.getElementById('tt').value;
var tu = document.getElementById('tu').value;
var result = parseFloat(tt) / parseFloat(tu);
if (!isNaN(result)) {
document.getElementById('gpa').value = result;
}
}
<input type="text" id="ua" name="ua" size="7" onkeyup="sum();">
<input type="text" id="ga" name="ga" size="7" onkeyup="suma();">
<input type="text" id="uu" name="uu" size="7" onchange="s();"/>
<input type="text" id="ub" name="ub" size="7" onkeyup="sum();">
<input type="text" id="ga" name="ga" size="7" onkeyup="sumb();">
<input type="text" id="a" name="a" size="7" onchange="s();"/>
<input type="text" id="tu" name="tu" onchange="g();"/>
<input type="text" id="tt" name="tt" onchange="g();"/>
<label>GPA</label>
<input type="text" id="gpa" />
答案 0 :(得分:0)
据我所知,代码中的所有内容都有效(在编辑之后),除了您希望在函数gb
中获取ID为sumb
的元素,但元素不会不存在。正如您现在所做的那样,您的代码会显示tt
的值(HTML中的第二个)除以tu
的值(HTML中的第一个)。
那就是说,当你说“它不能正常工作”时,我仍然不确定你的意思。我唯一能想到的是你必须从tu
或tt
输入元素中删除焦点才能使gpa
元素显示结果,因为你使用了{ {1}}代替onchange
。
正如其他人所指出的那样,我也想强调一下,你应该尝试给你的变量有意义的名字。当你在三年内查看你的代码时,你认为你仍然会知道“gpa”和“uu”是什么吗?
在以下代码段中,我只复制了与该部门相关的onkeyup
。我使用addEventListener
而不是内联事件侦听器(<input>
)并使其更具可读性:
onkeyup="sumb();"
var dividendElement = document.getElementById('dividend');
var divisorElement = document.getElementById('divisor');
var resultElement = document.getElementById('result');
function updateQuotient () {
var result = parseFloat(dividendElement.value) / parseFloat(divisorElement.value);
if (!isNaN(result)) {
resultElement.value = result;
}
}
dividendElement.addEventListener('keyup', updateQuotient);
divisorElement.addEventListener('keyup', updateQuotient);