Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.11.2021, 03:16
Аспирант
Отправить личное сообщение для HotReboot Посмотреть профиль Найти все сообщения от HotReboot
 
Регистрация: 06.11.2017
Сообщений: 42

Перебор data атрибута.
Здравствуйте. Есть форма для заполнения данных кредитной карты.
<form id="payment_form" autocomplete="off">
    <input type="text" data-cp="cardNumber">
    <input type="text" data-cp="expDateMonth">
    <input type="text" data-cp="expDateYear">
    <input type="text" data-cp="cvv">
    <input type="text" data-cp="name">
    <button type="submit">Оплатить</button>
</form>

Как мне перебрать одинаковый атрибут data-cp для formData.append с именем атрибута и value??
Спасибо.
P.S. Прописать "name" нельзя так как несмотря на то, что я в рамках одного сервера передаю ajax'ом в их предварительном скрипте подготавливает криптограмму платежных данных и на "name" ругается. Из их документации:
Цитата:
На полях не должно быть атрибута "name" — это предотвращает попадание карточных данных на сервер при отправке формы.
Понимаю, что можно прописать id или сlass, но как-то громоздко выглядит 5 штук getElementById.

Последний раз редактировалось HotReboot, 16.11.2021 в 03:30.
Ответить с цитированием
  #2 (permalink)  
Старый 16.11.2021, 07:02
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,114

HotReboot,

document.querySelectorAll('[data-cp]').forEach(({value, dataset : {cp}}) => formData.append(cp, value));
Ответить с цитированием
  #3 (permalink)  
Старый 16.11.2021, 07:02
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,745

Я не понял, что такое
Сообщение от HotReboot
перебрать одинаковый атрибут
Но наверно речь идет об этом

const fd = new FormData(f);
document.fetElementById('payment_form').querySelector('input')
   .forEach(inp => fd.append(inp.dataset.cp, inp.value);
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Информация из атрибута data Sergey1986 Общие вопросы Javascript 8 04.01.2019 19:52
Селектор по среднему значению атрибута data smart-create Events/DOM/Window 6 20.07.2017 14:32
Почему после использования data атрибута в setTimeout, он перестаёт быть доступным ? tomberty Events/DOM/Window 14 19.09.2015 23:45
Как заменить значение data атрибута в ссылке? ligisayan jQuery 9 09.08.2015 08:05
вопрос по видимости переменных. yiooxir Angular.js 3 31.10.2013 12:37