Что означает [object HTMLParagraphElement]?

Рейтинг: 0Ответов: 1Опубликовано: 13.04.2015

Есть выбор типа доставки в <input type="radio"> с обработкой JS; выводится выбранный тип вот таким образом: <output id="product-price"></output>, но почему то, когда ещё не сделал выбор, щёлкнув на какую-нибудь пустую строчку формы заказа, на месте этого вывода появляется это сообщение [object HTMLParagraphElement].

Что это такое и как с этим бороться?

Вот фрагменты кода JS:

window.onload = function(){ totalPrice = "<?=$_SESSION['total_price']?>"; }

window.onclick = function onclickRadio() {
  var nameRadio = document.getElementsByName('nameRadio');
  for (var i = 0; i < nameRadio.length; i++) {
    if (nameRadio[i].type === 'radio' && nameRadio[i].checked) {
        rezultatRadio = nameRadio[i].value;       

    }
  }
  document.getElementById('rezultatRadio').innerHTML =  rezultatRadio;
  document.getElementById('product-price').innerHTML =  new Number (+rezultatRadio) + new Number (+totalPrice);
}

<input type="radio" name="nameRadio" value="300" > Наш курьер (Стоимость доставки 300 руб)
    <input type="radio" name="nameRadio" value="0">Самовывоз

Вот html вывод, где появляется это предупреждение:

<td align="center"><p id="rezultatRadio"></p> руб </td>

Если выводить через , то появляется такое предупреждение: [object HTMLOutputElement]

Пробую теперь вот такой код, вообще ничего не выполняется....:

function(){ totalPrice = "<?=$_SESSION['total_price']?>"; }

function showResult() {
  var nameRadio = document.getElementsByName('nameRadio');
  for (var i = 0; i < nameRadio.length; i++) {
    if (nameRadio[i].type === 'radio' && nameRadio[i].checked) {
        rezultatRadio = nameRadio[i].getAttribute('data');       

    }
  }
  document.getElementById('rezultatRadio').innerHTML =  rezultatRadio;
  document.getElementById('product-price').innerHTML =  new Number (+rezultatRadio) + new Number (+totalPrice);

}

showResult();
window.onclick = showResult;

<input type="radio" name="nameRadio" data='300' value="300" checked="checked"> Наш курьер (Стоимость доставки 300 руб)
    <input type="radio" name="nameRadio" data='0' value="0">Самовывоз

Ответы

▲ 1

1) Обработка клика навешена неправильно.
2) Выводится дефолтный toString() объекта ноды параграфа: <p></p> (надо значение вставлять, можно получить с помощью innerHTML).

Больше сказать без кода нельзя.