document.getElementById возвращает неопределенное значение - PullRequest
0 голосов
/ 27 августа 2018

Я хочу получить значение типа приращения и уменьшения.это значение показывает неопределенный в JavaScript.как это сделать.

echo '<td id="textone_'.$row['id'].'">'.$row['fee']. '</td>'; 
 echo '<td id="texttwo_'.$row['id'].'"> 
 <input type="number" min="0" max="999" name="india"  
 onChange="sum('.$row['id'].');" class="txtbox" disabled="disabled" ></td>';
  echo '<td> <input type="text" value="0"
 id="result_'.$row['id'].'" name="result"></td>';
  Ajax
  ************
<script type="text/javascript">
 function sum(rowid) {

   var txtFirstNumberValue =  
    document.getElementById('textone_'+rowid).innerHTML;
   alert(txtFirstNumberValue );  
   var txtSecondNumberValue = 
     document.getElementById('texttwo_'+rowid).value;
   alert(currentVal);        
   var result = parseInt(txtFirstNumberValue) * 
    parseInt(txtSecondNumberValue);
   alert(result);
   if (!isNaN(result)) {
       document.getElementById('result_'+rowid).value = result;
    }
  }
</script>

как решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 27 августа 2018

Ваше значение JavaScript txtSecondNumberValue пытается получить значение вашего тега td вместо поля ввода. Кроме того, вы оповещаете о переменной JavaScript, которая нигде не определена. rowid , который вы объединяете при попытке получить значение вашего элемента, также неверен. Это не переменная JavaScript или что-либо еще, что вообще содержит что-либо. Во всяком случае, это будет действовать как конкатенация строк, и вы попытаетесь получить значение следующего: texttwo_rowid, которого не существует.

Попробуйте следующее:

<?php
echo '
<td id="td_'.$row['id'].'"> 
  <input type="number" min="0" max="999" name="sets[]" onChange="sum('.$row['id'].');" id="texttwo_'.$row['id'].'" class="txtbox" disabled="disabled" />
</td>';
?>
<script>
var txtSecondNumberValue = document.getElementById('texttwo_'+<?php echo $row['id']; ?>).value;
alert(txtSecondNumberValue);
</script>
0 голосов
/ 27 августа 2018

Много ошибок в вашем коде.

Попробуйте вместо этого:

<?php
echo '<td id="texttwo_' . $row['id'] . '"> 
  <input type="number" min="0" max="999" name="sets" class="txtbox" onchange="getValue(this);" ></td>';
?>
<script>
    function getValue(obj) {
        alert(obj.value);
    }
</script>

Ниже приведены причины, по которым ваш код не работал:

  1. Вы отключили поле ввода, что означает, что стрелки увеличения / уменьшения не будут работать в первую очередь.
  2. Ваша функция onchange() не имеет смысла.Что вы пытаетесь суммировать?
  3. Вы определяете txtSecondNumberValue, но вы позвонили currentVal.

Проверьте здесь для получения дополнительной информации о JavaScript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...