Как отправить данные в js из html

Я попытался отправить данные с помощью data- = "" в JavaScript, поэтому я использую data-= как это в html

const detailInput = document.getElementsByClassName('avg');
const d = 0,
  c = 0,
  b = 0,
  a = 0;

for (let input of detailInput) {
  d = input.datasets.pentingd
  c = input.datasets.pentingc
  b = input.datasets.pentingb
  a = input.datasets.pentinga
}
<input type = "hidden" class = "avg" data-avgpentingd = "<?php $avgPuas ?>">

но этого не может быть, потому что написано undefined is not an object. есть ли какое-нибудь решение, пожалуйста

Вы хотите использовать dataset, а не datasets?

Sasha 04.07.2019 11:10

это dataset НЕ datasets

VilleKoo 04.07.2019 11:11

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

Quentin 04.07.2019 11:11

о, вот почему @VilleKoo

Q With Only 04.07.2019 11:15

Это не ошибка, и я меняю const на var, но я думаю, что данных все еще нет. есть ли способ увидеть данные js?

Q With Only 04.07.2019 11:15

avgpentingd != ожиданиеd

Quentin 04.07.2019 11:17

Атрибут data-avgpentingd, но вы ссылаетесь на input.datasets.pentingd. Если исправить, должно работать: jsbin.com/wevasod/edit?html, js, консоль

Mosh Feu 04.07.2019 11:18

Нажмите кнопку редактирования и исправьте опечатку, чтобы не получить минусы, и вернитесь и сообщите нам, когда у вас будет решение, чтобы получить плюсы (но тогда пост, вероятно, забудут)

user985399 04.07.2019 11:31
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
8
271
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы должны попробовать это в своем javascript:

const detailInput = document.getElementsByClassName('avg');

let pentings = array();

for (let input in detailInput) {
  pentings.push(input.dataset.penting);
}

console.table(pentings);

В вашем HTML сделайте следующее:

<input type = "hidden" class = "avg" data-penting = "<?php $avgPuas ?>">

Вы также можете добавить несколько тегов input здесь

Затем посмотрите консоль в окне инструментов разработчика Chrome.

Bob 04.07.2019 11:38
Ответ принят как подходящий
  • Используйте let вместо const, чтобы присвоить переменную, иначе это константа, которую нельзя изменить.
  • Это dataset, а не наборы данных
  • У вас есть имя avgpentingd, но вы пропустили изменение ожидание
  • Может быть, использовать английское слово в ожидании вместо ожидание?
  • Откройте консоль в браузере и следите за ошибками. В Firefox или Chrome щелкните меню в правом верхнем углу и выберите инструменты для разработчиков и веб-консоль. Это необходимо, если у вас нет другого отладчика.

После правок и минимального изменения вашего кода это выглядит так и работает:

const detailInput = document.getElementsByClassName('avg');
let d = 0,
  c = 0,
  b = 0,
  a = 0;

for (let input of detailInput) {
  d = input.dataset.avgpentingd
  c = input.dataset.avgpentingc
  b = input.dataset.avgpentingb
  a = input.dataset.avgpentinga
}

console.info(d);
<input type = "hidden" class = "avg" data-avgpentingd = "It works now">

Читать о наборе данных здесь

Другие вопросы по теме