Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Помогите пожалуйста с калькулятором javascript (https://javascript.ru/forum/css-html/50798-pomogite-pozhalujjsta-s-kalkulyatorom-javascript.html)

Хабиб1122 12.10.2014 08:58

Помогите пожалуйста с калькулятором javascript
 
Всем привет, вот писал калькулятор с помощь javascript все работает, но все таки одного дела не могу сделать. Вот посмотрите скриншот

вот такой проблема, наверно вы можете сделать это, за ранее спасибо

вот код калькулятора:
<html>
<head>
<title>Курс по Javascript</title>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />

</head>
<body>
<div>
<script type="text/javascript">

function  kalk(){
          var n1=document.getElementById('num1').value
                var n2=document.getElementById('num2').value
                n1=parseFloat(n1)
                n2=parseFloat(n2)
                var a=document.getElementById('act').value
                var r=0
                    if(a==1) r=n1+n2
                if(a==2) r=n1-n2
                if(a==3) r=n1*n2
                if(a==4){
                               if(n2==0){
                                  alert("на 0 делить нельзя")
                                               document.getElementById("num2").value=""
                                               document.getElementById("num2").focus()
                               }
                               else r=n1/n2
                }
                if(a==5) r=n1/100*n2
                if(a==6) r=Math.pow(n1,n2)
                if(a==7) r=Math.pow(n1,0.5)
               
                document.getElementById("result").value=r 
                
                }
</script>




<form id="form1" name="form1" method="post" action="">
  <table width="400" border="1" align="center" cellpadding="5" cellspacing="0">
    <tr>
      <td>Число 1</td>



      <td><input type="text" name="num1" id="num1" /><br />
      <input type="button" name="rakam11" value="1" />
      <input type="button" name="rakam22" value="2" />
      <input type="button" name="rakam33" value="3" />
      <input type="button" name="rakam44" value="4" />
      <input type="button" name="rakam55" value="5" />
      <input type="button" name="rakam66" value="6" />
      <input type="button" name="rakam77" value="7" />
      <input type="button" name="rakam88" value="8" />
      <input type="button" name="rakam99" value="9" /></td>
    </tr>
    <tr>
      <td>Число 2</td>
      <td><input type="text" name="num2" id="num2" /><br />
      <input type="button" name="rakam1" value="1" />
      <input type="button" name="rakam2" value="2" />
      <input type="button" name="rakam3" value="3" />
      <input type="button" name="rakam4" value="4" />
      <input type="button" name="rakam5" value="5" />
      <input type="button" name="rakam6" value="6" />
      <input type="button" name="rakam7" value="7" />
      <input type="button" name="rakam8" value="8" />
      <input type="button" name="rakam9" value="9" />
      
      
      
      
      
      
      </td>
      
    </tr>
    <tr>
      <td>Действие</td>
      <td><select name="act" id="act">



 <option value="1">+</option>
        <option value="2">-</option>
        <option value="3">*</option>
        <option value="4">/</option>
        <option value="5">%</option>
        <option value="6">степени</option>
        <option value="7">Корень</option>
      </select></td>
    </tr>
    <tr>
      <td>Равно</td>
      <td><input type="text" name="result" id="result" /></td>
    </tr>
    <tr>



      <td colspan="2"><input type="button" name="button" id="button" onclick="kalk()" value="Считать" />
      <input type="button" name="button1" value="CLEAN" /></td>
    </tr>
  </table>
</form>
<p>&nbsp;</p> 


</body>
</html>

Хабиб1122 12.10.2014 12:51

Кто то есть?)

Safort 12.10.2014 13:38

Как-то так.
<html>
<head>
<title>Курс по Javascript</title>
<meta http-equiv="content-type" content="text/html; charset=utf8" />
 
</head>
<body>
<div>
<script type="text/javascript">
 
function kalk(){
  var n1=document.getElementById('num1').value
  var n2=document.getElementById('num2').value
  n1=parseFloat(n1)
  n2=parseFloat(n2)
  var a=document.getElementById('act').value
  var r=0
      if(a==1) r=n1+n2
  if(a==2) r=n1-n2
  if(a==3) r=n1*n2
  if(a==4){
                 if(n2==0){
                    alert("на 0 делить нельзя")
                                 document.getElementById("num2").value=""
                                 document.getElementById("num2").focus()
                 }
                 else r=n1/n2
  }
  if(a==5) r=n1/100*n2
  if(a==6) r=Math.pow(n1,n2)
  if(a==7) r=Math.pow(n1,0.5)

  document.getElementById("result").value=r

}

function addToInput1(value) {
  document.querySelector('#num1').value += value;
}
function addToInput2(value) {
  document.querySelector('#num2').value += value;
}

function clean() {
  document.querySelector('#num1').value = '';
  document.querySelector('#num2').value = '';
  document.querySelector('#result').value = '';
}
</script>
 
 
 
 
<form id="form1" name="form1" method="post" action="">
  <table width="400" border="1" align="center" cellpadding="5" cellspacing="0">
    <tr>
      <td>Число 1</td>
 
 
 
      <td><input type="text" name="num1" id="num1" /><br />
      <input onclick="addToInput1(this.value)" type="button" name="rakam11" value="1" />
      <input onclick="addToInput1(this.value)" type="button" name="rakam22" value="2" />
      <input onclick="addToInput1(this.value)" type="button" name="rakam33" value="3" />
      <input onclick="addToInput1(this.value)" type="button" name="rakam44" value="4" />
      <input onclick="addToInput1(this.value)" type="button" name="rakam55" value="5" />
      <input onclick="addToInput1(this.value)" type="button" name="rakam66" value="6" />
      <input onclick="addToInput1(this.value)" type="button" name="rakam77" value="7" />
      <input onclick="addToInput1(this.value)" type="button" name="rakam88" value="8" />
      <input onclick="addToInput1(this.value)" type="button" name="rakam99" value="9" /></td>
    </tr>
    <tr>
      <td>Число 2</td>
      <td><input type="text" name="num2" id="num2" /><br />
      <input onclick="addToInput2(this.value)" type="button" name="rakam1" value="1" />
      <input onclick="addToInput2(this.value)" type="button" name="rakam2" value="2" />
      <input onclick="addToInput2(this.value)" type="button" name="rakam3" value="3" />
      <input onclick="addToInput2(this.value)" type="button" name="rakam4" value="4" />
      <input onclick="addToInput2(this.value)" type="button" name="rakam5" value="5" />
      <input onclick="addToInput2(this.value)" type="button" name="rakam6" value="6" />
      <input onclick="addToInput2(this.value)" type="button" name="rakam7" value="7" />
      <input onclick="addToInput2(this.value)" type="button" name="rakam8" value="8" />
      <input onclick="addToInput2(this.value)" type="button" name="rakam9" value="9" />
       
       
       
       
       
       
      </td>
       
    </tr>
    <tr>
      <td>Действие</td>
      <td><select name="act" id="act">
 
 
 
 <option value="1">+</option>
        <option value="2">-</option>
        <option value="3">*</option>
        <option value="4">/</option>
        <option value="5">%</option>
        <option value="6">степени</option>
        <option value="7">Корень</option>
      </select></td>
    </tr>
    <tr>
      <td>Равно</td>
      <td><input type="text" name="result" id="result" /></td>
    </tr>
    <tr>
 
 
 
      <td colspan="2"><input type="button" name="button" id="button" onclick="kalk()" value="Считать" />
      <input type="button" name="button1"  onclick="clean()" value="CLEAN" /></td>
    </tr>
  </table>
</form>
<p>&nbsp;</p>
 
 
</body>
</html>

Хабиб1122 12.10.2014 15:22

Спвсибо!

Хабиб1122 12.10.2014 15:22

*Спасибо!

hbsv 26.01.2016 18:18

А можно ли сделать так, что бы строка с цифрами была только одна?

т.е. нажимаем цифру она уходит в память - потом оператор (тоже уходит в память отображаясь на дисплее) - и потом снова цифра и сразу происходит расчет.

Заранее Благодарен!

Dilettante_Pro 27.01.2016 11:56

hbsv,
Калькулятор с одним набором кнопок и отображением всего процесса ввода можете посмотреть в теме http://javascript.ru/forum/showthrea...174#post405174


Часовой пояс GMT +3, время: 07:39.