Передайте JS foreach на JS сообщение без формы - PullRequest
1 голос
/ 18 февраля 2020

totalforms[i] читает все входные данные со страницы (динамически генерируемые) (например: <input name="test" type="text">). Я хочу отправить все входные данные (получить из foreach в массиве JS) на https://example.com/client_area?add_to_cart<?php echo $product_id; ?>.

Функция для публикации данных (JS):

function post(path, params, method='post') {

              const form = document.createElement('form');
              form.method = method;
              form.action = path;

              for (const key in params) {
                if (params.hasOwnProperty(key)) {
                  const hiddenField = document.createElement('input');
                  hiddenField.type = 'hidden';
                  hiddenField.name = key;
                  hiddenField.value = params[key];

                  form.appendChild(hiddenField);
                }
              }

              document.body.appendChild(form);
              form.submit();
            }

Функция для запуска получения всех входов на странице:

function runToCart() {
      var forms = document.getElementsByTagName("input");
      document.getElementById("addToCart").innerHTML = `Add To Cart   <i class="fas fa-spinner fa-spin"></i>`;
      var totalforms = new Array();
      var totalforms_values = new Array();
      var i;
      for (i = 0; i < forms.length; i++) {
        totalforms.push(forms[i].name);
        totalforms_values.push(forms[i].value);
      }
      post('/client_area?add_to_cart=<?php echo $product; ?>', {names: totalforms, values: totalforms_values});
    }

так? Я попытался выполнить поиск, но ничего подобного не указали c.

PS: я хочу создать массив для массива, подобный totalforms[number_if_input_name]['value_of_name_of_input']

Решено путем добавления атрибута form = в мои входные данные, больше нет необходимости js здесь.

1 Ответ

0 голосов
/ 18 февраля 2020

Просто заполните объект данными

let totalforms = {};
for (i = 0; i < forms.length; i++) {
  totalforms[i] = totalforms[i] || {};
  totalforms[i][forms[i].name] = forms[i].value;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...