onchange и onkeypress javasrcipt PHP

#javascript #php

#javascript #php

Вопрос:

у меня есть один ввод, который должен быть числовой цифрой и автоматически вычислять ввод значения.. для числовой цифры (onkeypress) работает хорошо, но для автоматического вычисления (onchange) не работает :

 echo "<td class='custGanjil300b border1'> <input type="text" name="nilaiBobot[<?php echo [$i]; ?>]" class="inputtable textCenter" 
                                            class="inputtable textCenter" onkeypress="return mask(this,event);" onchange="hitungtotal();"  ></td>";
  

это для отображения автоматического вычисления: `

  echo "<td class='custGanjil300b border1' colspan = '5'><span id="total"></span></td>";
  

это javascript для onkeypress (числовая цифра)

 <script>
   function mask(textbox, e) {

  var charCode = (e.which) ? e.which : e.keyCode;
  if (charCode == 46 || charCode > 31amp;amp; (charCode < 48 || charCode > 57)) 
     {
        alert("Please input numeric characters only");
        return false;
     }
 else
     {
         return true;
     }
   }
 </script>
  

это для onchange для автоматического вычисления :

 <script type="text/javascript">
function hitungtotal() {
var elems = document.getElementsByName('nilaiBobot');
var sum = 0;     
for(var i =0;i<elems.length;i  ){
sum =parseInt(elems[i].value)
}
document.getElementById('total').value  = sum;

}
  

пожалуйста, помогите мне и извините за мой плохой английский: (

Комментарии:

1. Вы не должны использовать <?php echo [$i]; ?> внутри функции PHP ECHO.

Ответ №1:

 var elems = document.getElementsByName('nilaiBobot[]');
  

эта строка кода не может получить элементы.

Пожалуйста, используйте:

 <input type="text" name="nilaiBobot" ...
  
 var elems = document.getElementsByName('nilaiBobot');
  

Комментарии:

1. спасибо за ваш ответ, я просто пытаюсь это изменить, но все равно не получается:(