在我的计算器代码中,我希望首先将一个数字作为输入,然后在该运算符之后,并且一次只能输入一个运算符。在输入中,首先必须采用数字或数字,如果输入运算符,不应该采取或显示。操作员,如+, - ,/,*,%,并且一次只能输入一个操作员。
document.getElementById("AC").onclick = function() {myFunction()};
function myFunction() {
document.getElementById("AC").innerHTML = "CE";
}

<center>
<form name="calculator">
<div class=" outline">
<table style="margin-top:40px;">
<tr>
<td>
<input name="displayresult" id="display" class="cal-input" placeholder="0" disabled>
</td>
</tr>
</table>
<table border="0px" cellspacing="10px" style="margin-top:5px;">
<tr>
<td name="left" value="(" onclick="calculator.display.value += '('" class="cal-top">(</td>
<td name="right" value=")" onclick="calculator.display.value += ')'" class="cal-top"> )</td>
<td class="operator cal-top" name="percent" value="%" onclick="calculator.display.value += '%'">%</td>
<td id="clear" name="clear" value="c" onclick="str = calculator.display.value.slice(0, -1); calculator.display.value = str" class=" cal-top"><font size="2" id="AC">AC</font></td>
</tr>
<tr>
<td name="seven" value="7" onclick="calculator.display.value += '7'" class="cal-number">7</td>
<td name="eight" value="8" onclick="calculator.display.value += '8'" class="cal-number">8</td>
<td name="nine" value="9" onclick="calculator.display.value += '9'" class="cal-number">9</td>
<td class="operator cal-top" name="div" value="/" onclick="calculator.display.value += '/'">/</td>
</tr>
<tr>
<td name="four" value="4" onclick="calculator.display.value += '4'" class="cal-number">4</td>
<td name="five" value="5" onclick="calculator.display.value += '5'" class="cal-number">5</td>
<td name="six" value="6" onclick="calculator.display.value += '6'" class="cal-number">6</td>
<td class="operator cal-top" name="times" value="*" onclick="calculator.display.value += '*'">*</td>
</tr>
<tr>
<td name="one" value="1" onclick="calculator.display.value += '1'" class="cal-number">1</td>
<td name="two" value="2" onclick="calculator.display.value += '2'" class="cal-number">2</td>
<td name="three" value="3" onclick="calculator.display.value += '3'" class="cal-number">3</td>
<td class="operator cal-top" name="minus" value="-" onclick="calculator.display.value += '-'">-</td>
</tr>
<tr>
<td name="zero" value="0" onclick="calculator.display.value += '0'" class="cal-number">0</td>
<td name="decimal" value="." onclick="calculator.display.value += '.'" class="cal-number">.</td>
<td name="result" value="=" onclick="calculator.display.value = eval(calculator.display.value)" class="cal-result"><b>=</b></td>
<td class="operator cal-top" name="plus" value="+" onclick="calculator.display.value += '+'">+</td>
</tr>
</table>
</div>
</form>
</center>
&#13;
答案 0 :(得分:0)
您可以让所有符号上的onclick
调用函数,而不是将文本放在框中:
checkIfValid('x')
其中 x =特定<td>
元素的符号,例如:
<td class="operator cal-top" name="percent" value="%" onclick="checkIfValid('%')">%</td>
该功能可以判断是否将文本放入框中。
function checkIfValid(symbol) {
if (calculator.display.value !== '') {
var lastDigit = calculator.display.value.slice(-1);
if (lastDigit == '%' || lastDigit == '/' || lastDigit == '*' || lastDigit == '-' || lastDigit == '+') {
return false;
} else {
if (symbol == '=') {
calculator.display.value = eval(calculator.display.value);
} else {
calculator.display.value += symbol;
}
}
}
}
function checkIfValid(symbol) {
if (calculator.display.value !== '') {
var lastDigit = calculator.display.value.slice(-1);
if (lastDigit == '%' || lastDigit == '/' || lastDigit == '*' || lastDigit == '-' || lastDigit == '+') {
return false;
} else {
if (symbol == '=') {
calculator.display.value = eval(calculator.display.value);
} else {
calculator.display.value += symbol;
}
}
}
}
&#13;
<center>
<form name="calculator">
<div style=" width: 200px;height: 250px;border: 1px solid #D0CECE;">
<table style="margin-top:20px;">
<tr>
<td>
<input name="displayresult" id="display" class="cal-input" placeholder="0" disabled>
</td>
</tr>
</table>
<table border="0px" cellspacing="10px" style="margin-top:5px;">
<tr>
<td name="left" value="(" onclick="calculator.display.value += '('" class="cal-top">(</td>
<td name="right" value=")" onclick="checkIfValid(')')" class="cal-top"> )</td>
<td class="operator cal-top" name="percent" value="%" onclick="checkIfValid('%')">%</td>
<td id="clear" name="clear" value="c" onclick="str = calculator.display.value.slice(0, -1); calculator.display.value = str" class=" cal-top">CE</td>
</tr>
<tr>
<td name="seven" value="7" onclick="calculator.display.value += '7'" class="cal-number">7</td>
<td name="eight" value="8" onclick="calculator.display.value += '8'" class="cal-number">8</td>
<td name="nine" value="9" onclick="calculator.display.value += '9'" class="cal-number">9</td>
<td class="operator cal-top" name="div" value="/" onclick="checkIfValid('/')">/</td>
</tr>
<tr>
<td name="four" value="4" onclick="calculator.display.value += '4'" class="cal-number">4</td>
<td name="five" value="5" onclick="calculator.display.value += '5'" class="cal-number">5</td>
<td name="six" value="6" onclick="calculator.display.value += '6'" class="cal-number">6</td>
<td class="operator cal-top" name="times" value="*" onclick="checkIfValid('*')">*</td>
</tr>
<tr>
<td name="one" value="1" onclick="calculator.display.value += '1'" class="cal-number">1</td>
<td name="two" value="2" onclick="calculator.display.value += '2'" class="cal-number">2</td>
<td name="three" value="3" onclick="calculator.display.value += '3'" class="cal-number">3</td>
<td class="operator cal-top" name="minus" value="-" onclick="checkIfValid('-')">-</td>
</tr>
<tr>
<td name="zero" value="0" onclick="calculator.display.value += '0'" class="cal-number">0</td>
<td name="decimal" value="." onclick="calculator.display.value += '.'" class="cal-number">.</td>
<td name="result" value="=" onclick="checkIfValid('=')" class="cal-result"><b>=</b></td>
<td class="operator cal-top" name="plus" value="+" onclick="checkIfValid('+')">+</td>
</tr>
</table>
</div>
</form>
</center>
&#13;