Задать вопрос

Как сделать так чтобы 1 форма не затрагивала SELECT 2 формы?

есть одно модальное окно с формами показывающеюся по условию. первая форма6435619102b25730052490.jpeg вторая форма643562e3d0966451121086.jpeg проблема в том что при нажатие сначала на первую форму а потом на вторую, у ВТОРОЙ пропадают поля SELECT вот код
======

$(document).ready(function () {
  // Функция, которая будет выполняться при нажатии на ссылку
  function hideFields() {
    // Извлекаем id из атрибута id или класса кнопки
    var btnid = $(this).attr('class');
    // Скрываем поля
    $('#feedback_form_summa1, #feedback_form_day1').css('display', 'none');
  }

  // Удаляем обработчик события клика на ссылке с классом '.btn-none'
  $('.btn-none').off('click');

  // Добавляем обработчик события на клик по ссылке с классом '.btn-none'
  $('.btn-none').on('click', function() {
    hideFields(); // Вызываем функцию hideFields() при клике на ссылку
  });
	// Остальной код
	$(".form-input-box input").focus(function () {
		$("#feedback_form_danger1").css("display", "none");
	});

	$('#pModal').on('hidden.bs.modal', function (e) {
		$("#feedback_form_success1").css("display", "none");
		$("#feedback_form_danger1").css("display", "none");
	});

	$(".form_submit").click(function () {

		var btnid = $(this).data("id");

		var name = $("#feedback_form_name" + btnid).val();
		var phone = $("#feedback_form_phone" + btnid).val();
		var email = $("#feedback_form_email" + btnid).val();


		var summ = $("#feedback_form_summa" + btnid + " option:selected").text();
		var day = $("#feedback_form_day" + btnid + " option:selected").text();


		var mess = $("#feedback_form_mess" + btnid).val();
		var url = $("#feedback_form_url" + btnid).val();
		// Получение значения checkbox
		var isChecked = $("#form-check").is(":checked");
		var isChecked2 = $("#form-check__quest").is(":checked");
		// Проверка значения checkbox
		if (!isChecked || !isChecked2) {
			// Вывод сообщения об ошибке
			alert("Пожалуйста, отметьте checkbox!");
			return; // Прерываем выполнение функции
		}
		if (name == "" || phone == "") {

			$("#feedback_form_danger" + btnid).css("display", "");

		}
		else {

			$("#feedback_form_danger" + btnid).css("display", "none");
			$("#feedback_form_info" + btnid).css("display", "");

			$.ajax({
				type: "POST",
				url: "/local/components/main/send.form/templates/.default/ajax.php",
				data: { NAME: name, PHONE: phone, EMAIL: email, MESS: mess, SUM: summ, DAY: day, URL: url },
				success: function (data) {

					$("#feedback_form_success" + btnid).css("display", "");

					$("#feedback_form_success" + btnid).css("display", "");
					$("#feedback_form_info" + btnid).css("display", "none");

					$("#feedback_form_name" + btnid).val("");
					$("#feedback_form_phone" + btnid).val("");
					$("#feedback_form_email" + btnid).val("");
					$("#feedback_form_mess" + btnid).val("");
					$("#feedback_form_url" + btnid).val("");

					setTimeout(function () { $('#pModal').modal('hide') }, 1700);


				}
			});

		}

	});

	$("input[type='tel']").mask("+7(999) 999-9999");

});

======
  • Вопрос задан
  • 46 просмотров
Подписаться 1 Средний 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
Вам кто-то изрядную свинью подложил, когда научил вот так вот ставить id на все элементы подряд, привязывая к ним ещё какие-то циферки и btnid. Вангую, что вся проблема из-за путаницы с id. Скорее всего они у вас дублируются.

И более половины кода можно смело выбросить, т.к. он не несёт смысловой нагрузки.
Все строки с val(), все с val(""), text() и скорее всего с css("display"...) тоже.

Покажите разметку, а ещё лучше соберите пример на jsfiddle или codepen.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы