Javascript计算器 - 当相应的文本输入也为空白时,将计算器上的文本输入重置为空白

时间:2015-09-28 14:53:30

标签: javascript html forms calculator

我有一个简单的计算器,可以改变输入以将美元转换为越南盾。它工作正常,除了输入一个数字然后通过退格键移除后," 0.00"保留在执行计算的框中。我希望在删除数字后,当另一个框为空时,该框为空白。

这是我的Javascript:

function vndCalc() {
var cusd = document.getElementById("usd").value;
var cvnd = document.getElementById("vnd");
var calc = cusd * 22477.50;

cvnd.value = calc.toFixed(2);
}

function usdCalc() {
 var cusd = document.getElementById("usd");
 var cvnd = document.getElementById("vnd").value;
 var calc = cvnd / 22477.50;

 cusd.value = calc.toFixed(2);
}

以下是HTML:

<fieldset id=calculator>
    <legend>USD to VND Calculator</legend> 
    <label>US Dollars:<input type="text" id="usd" oninput="vndCalc()"/></label>
    <label>VN Dongs:<input type="text" id="vnd" oninput="usdCalc()"/></label>
</fieldset>

我试过和#34;如果&#34;功能,但我无法工作。请帮忙!

3 个答案:

答案 0 :(得分:0)

您可以检查输入字段是否==&#34;&#34;并将输出字段设置为相同

http://jsfiddle.net/40p9b2fu/

来自美元

cvnd.value = cusd == "" ? "" : calc.toFixed(2);

和美元

cusd.value = cvnd == "" ? "" : calc.toFixed(2);

如果你不喜欢你可以做的三元形式

来自美元

if (cusd == "") {
    cvnd.value = "";
} else {
    cvnd.value = calc.toFixed(2);
}

和美元

if (cvnd == "") {
    cusd.value = "";
} else {
    cusd.value = calc.toFixed(2);
}

答案 1 :(得分:0)

您可以使用条件控制其他输入。例如,你可以试试这个:

function usdCalc() {
 var cusd = document.getElementById("usd");
 var cvnd = document.getElementById("vnd").value;
 var calc = cvnd / 22477.50;
 
 if (cvnd == ''){
  cusd.value = '';
 } else {
  cusd.value = calc.toFixed(2); 
 }
}

答案 2 :(得分:0)

我个人会添加2个按钮来触发转换。 Jsfiddle。 例如:

var exchangeRate = 22477.50,
    usdSelector = $('#usd'),
    vndSelector = $('#vnd');

$('#convert1').click(function(){
    vndSelector.val(usdSelector.val() * exchangeRate);
})

$('#convert2').click(function(){
    usdSelector.val(vndSelector.val() / exchangeRate);
})

$('#clear').click(function(){
    usdSelector.val("");
    vndSelector.val("");
})

和Html:

<fieldset id="calculator">
    <legend>USD to VND Calculator</legend> 
    <label>US Dollars: <input type="text" id="usd"/></label>
    <label>VN Dongs: <input type="text" id="vnd"/></label>
    </br>
    <button id="convert1">Convert Dollars to Dongs</button>
    <button id="convert2">Convert Dongs to Dollars</button>
    <button id="clear">Clear</button>
</fieldset>