我有两个文本框用于输入数字并使用javascript对这些数字进行求和。
我有以下条件显示结果
如果文本框1(id:left)未定义或值为0 =不显示任何输出
如果textbox 1(id:left)有值,请检查textbox 2的值(id:right)
如果文本框2(id:右)未定义或值为0 =不显示任何输出
如果textbox 2(id:right)的值不是undefined \ 0,请检查textbox 1(id:left)的值,如果textbox 1的值不是undefined \ 0,则显示结果
如果textbox 2(id:right)的值不是undefined \ 0,请检查textbox 1的值(id:left),如果textbox 1未定义\ 0,则显示:请在“textbox”中输入值1"
我正在尝试使用javascript if,elseif语句但不成功
来实现此目的以下是小提琴设置:http://fiddle.jshell.net/gYV8Z/6/我在这里做得对吗?
答案 0 :(得分:0)
这是javascript代码
<强> HTML:强>
<div class="input-left"><span><input onblur="calc()" class="textbox" id="left" name="count" type="text" size="5" value="" /></span>
</div>
<div class="input-right"><span><input onblur="calc();" class="textbox" id="right" name="count" type="text" size="5" value="" /></span>
</div>
<div id="result"></div>
<强>使用Javascript:强>
function calc() {
var a = parseFloat(document.getElementById('left').value) || 0;
var b = parseFloat(document.getElementById('right').value) || 0;
document.getElementById("result").innerHTML = (a + b) || "";
}
答案 1 :(得分:0)
试试这个
window.onload = function () {
var left = document.getElementById('left'),
right = document.getElementById('right'),
result = document.getElementById("result");
// encase the logic inside the function
function check(a, b, elem) {
// No need to check for undefined as you using parseFlaot
// So you are setting it to zero before passing the values
// Just pass them to this function
var txt = '';
if (a === 0 || b === 0) {
txt = "Please enter values into the input"
}
else {
txt = a + b;
}
result.innerHTML = txt;
}
left.onkeyup = calc;
right.onkeyup = calc;
function calc() {
var a = parseFloat(left.value) || 0;
var b = parseFloat(right.value) || 0;
// Call the method where logic implemented
// You need to call it whenever the event is triggered
check(a,b, this);
}
}
<强> Check Fiddle 强>
答案 2 :(得分:0)
你正在使用'IF''ELSE IF'语句而没有函数/操作调用在测试通过时运行。你可以通过在'calc()'函数中包含测试来清理整个过程。
像这样:
window.onload = function(){
var left = document.getElementById('left');
var right = document.getElementById('right');
var result = document.getElementById("result");
function calc() {
if ((left.value != undefined) || (right.value != undefined)) {
var a = parseFloat(left.value) || 0;
var b = parseFloat(right.value) || 0;
result.innerHTML = ( a + b ) || "";
} else {
result.innerHTML = "Enter appropriate values";
}
}
left.onkeyup = calc;
right.onkeyup = calc;
}