Не принимается значение input.value

130
28 октября 2019, 20:20

Форма

<p class="change-color">Цвет: </p>
          <form action="success.php" method="POST">
            <input type="hidden" name="color" value="" id="colorinput">
            <input class="pop-up__form_input" type="text" name="name" placeholder="&nbsp;&nbsp;Введите имя" required="" style="width: 400px; height: 60px;border-radius: 20px;padding:20px;">
            </br>
            <input class="pop-up__form_input" type="phone" name="phone" placeholder="&nbsp;&nbsp;Введите телефон" required="" style="width: 400px; height: 60px;border-radius: 20px;padding:20px;"></br>
            <button class="btn_red" style="width: 200px; height:40px;background-color:red;border-radius: 20px;">Отправить</button>
        </form>

JS

<script type="text/javascript">
            $(document).ready(function() {
      $(".colorblock").click(function() {
        $(".colorblock").removeClass("active");
        $(this).addClass("active");
        return false;
      });
      var arrColors = {
        '#9c8775': '01',
        '#947f6b': '05',
        '#5d4a3b': '06',
        '#583c26': '07',
        '#4b3925': '08',
        '#b74318': '09',
        '#b1714e': '13',
        '#c14c1f': '17',
        '#59170c': '19',
        '#759023': '20',
        '#60080c': '33',
        '#a25e34': '34',
        '#cd8c35': '37',
        '#681f47': '39',
        '#343e4a': '36',
        '#26303a': '35',
        '#080f21': '30',
        '#416793': '27',
        '#596a41': '21'
      };
      rgb2Hex = s => s.match(/[0-9]+/g).reduce((a, b) => a + (b | 256).toString(16).slice(1), '#')
      $('#myModal1').on('show.bs.modal', function(event) {
        if ($(".colorblock").hasClass("active")) {
          currentColor = rgb2Hex($(".colorblock.active").css('background-color'));
          $(".change-color").html("Цвет: " + arrColors[currentColor]);
          $('#colorinput').val("" + arrColors[currentColor]);
        }
      })
      $('#myModal2').on('show.bs.modal', function(event) {
        if ($(".colorblock").hasClass("active")) {
          currentColor = rgb2Hex($(".colorblock.active").css('background-color'));
          $(".change-color").html("Цвет: " + arrColors[currentColor]);
          $('#colorinput').val("" + arrColors[currentColor]);
        }
      })
       $('#myModal3').on('show.bs.modal', function(event) {
        if ($(".colorblock").hasClass("active")) {
          currentColor = rgb2Hex($(".colorblock.active").css('background-color'));
          $(".change-color").html("Цвет: " + arrColors[currentColor]);
          $('#colorinput').val("" + arrColors[currentColor]);
        }
      })
      $('#myModal4').on('show.bs.modal', function(event) {
        if ($(".colorblock").hasClass("active")) {
          currentColor = rgb2Hex($(".colorblock.active").css('background-color'));
          $(".change-color").html("Цвет: " + arrColors[currentColor]);
          $('#colorinput').val("" + arrColors[currentColor]);
        }
      })
       $('#myModal5').on('show.bs.modal', function(event) {
        if ($(".colorblock").hasClass("active")) {
          currentColor = rgb2Hex($(".colorblock.active").css('background-color'));
          $(".change-color").html("Цвет: " + arrColors[currentColor]);
          $('#colorinput').val("" + arrColors[currentColor]);
        }
      })
      $('#myModal6').on('show.bs.modal', function(event) {
        if ($(".colorblock").hasClass("active")) {
          currentColor = rgb2Hex($(".colorblock.active").css('background-color'));
          $(".change-color").html("Цвет: " + arrColors[currentColor]);
          $('#colorinput').val(arrColors[currentColor]);
        }
      })
      $('#myModal7').on('show.bs.modal', function(event) {
        if ($(".colorblock").hasClass("active")) {
          currentColor = rgb2Hex($(".colorblock.active").css('background-color'));
          $(".change-color").html("Цвет: " + arrColors[currentColor]);
          document.getElementById('colorinput').value = 'changed Value';
        }
      })
    });

Файл success.php

<?php
/* Здесь проверяется существование переменных */
if (isset($_POST['phone'])) {$phone = $_POST['phone'];}
if (isset($_POST['name'])) {$name = $_POST['name'];}
if (isset($_POST['title']))
 {
  $title = $_POST['title'];
}
else
{
  $title="Заказ звонка";
}
if (isset($_POST['color'])) {$color = $_POST['color'];}
$address = "test@gmail.com";
/* Здесь прописывается наименование товара */
$article = "Заявка";
/* Текст сообщения,
 - перенос строки */
$mes = "$article
$title
Имя: $name
Телефон: $phone
Цвет: $color";
/* Функция которая занимается отправкой письма на указанный ранее email */
$sub="Заказ обратного звонка!"; //сабж
$send = mail ($address,$sub,$mes, "Content-type:text/plain; charset = utf-8
");
?>
Answer 1

вообще-то идентификатор на странице может быть только 1, а если у вас в каждом модальном в каждой форме стоит <input type="hidden" name="color" value="" id="colorinput">

то это уже ошибка и оно не совсем рабочее. Поэтому для начала замените у скрытого поля id на class, ну и если у каждой формы свой id, то в коде можно обращаться например так:

$('#myModal2 .colorinput')
READ ALSO
Вытянуть данные из строки

Вытянуть данные из строки

Получаю строки данных погоды в следующем формате:

166
Название файла для file_put_content()

Название файла для file_put_content()

Мне нужно сделать следующее:

153
Не применяется стиль

Не применяется стиль

Не применяются два стиля для телефонаНа ПК все работает

136
Не работает PHP (PDO/ INSERT/ SELECT)

Не работает PHP (PDO/ INSERT/ SELECT)

Я начал изучать и PHP, и ASPNET, пока что у меня в голове каша

122