Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.11.2015, 17:09
Интересующийся
Отправить личное сообщение для goody-goody Посмотреть профиль Найти все сообщения от goody-goody
 
Регистрация: 13.10.2015
Сообщений: 17

$_POST не получает значение select
Доброго времени суток! Проблема такая: при отправке формы значение select не отправляется вообще, а radio всегда отправляет только первое значение 500. С текстовым полем все нормально. В чем проблема?
<!doctype html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>Розповсюдження</title>
		<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
	</head>
	<body>
		<h3>Введіть дані</h3>
		<form name='myForm' method='post' action='action1.php'>
			<p>Назва речовини: <select name="subst">
				<option value='sulfate'>Сульфати</option>
				<option value='chloride'>Хлориди</option>
				<option value='nitrogen'>Азот амонійний</option>
			</select></p>
			<p>Контрольна відстань: <input type='radio' name='control' value='500'>500
			<input type='radio' name='control' value='1000'>1000
			<input type='radio' name='control' value='1500'>1500</p>
			<p>Концентрація забруднюючої речовини: <input type='text' name='konc' size='5'></p>
			<input type='button' value='Підтвердити' name='mySubmit' onclick="AjaxFormRequest('result')">
		</form>
		<script type="text/javascript">
        function AjaxFormRequest(result_id) { 
            var subst = $('input[name*="subst"]').val();
            var control = $('input[name*="control"]').val();
            var konc = $('input[name*="konc"]').val();
            $.ajax({
	            type: "POST",
	            url: "action1.php",
	            data: { subst: subst, control: control, konc: konc }
	            }).done(function(msg) {
	                $('#' + result_id).html(msg);
	        });
	    }
	   </script>
			<p id='result'></p>
		</div>
	</body>
</html>


<?php
if (isset($_POST["sub"])) {
  $subst = $_POST["sub"];
  echo $subst;
  echo " is current substance<br>";
} else {
  $subst = null;
  echo "no substance supplied<br>";
}

if (isset($_POST["control"])) {
  $control = $_POST["control"];
  echo $control;
  echo " is control distance<br>";
} 

if (isset($_POST["konc"])) {
  $konc = $_POST["konc"];
  echo $konc;
} 
?>

Последний раз редактировалось goody-goody, 03.11.2015 в 17:47.
Ответить с цитированием
  #2 (permalink)  
Старый 03.11.2015, 21:10
Профессор
Отправить личное сообщение для Mess4me Посмотреть профиль Найти все сообщения от Mess4me
 
Регистрация: 03.11.2014
Сообщений: 263

var subst = $('select[name*="subst"]').val();
var control = $('input[name*="control"]:checked').val();

Последний раз редактировалось Mess4me, 03.11.2015 в 21:51.
Ответить с цитированием
  #3 (permalink)  
Старый 03.11.2015, 22:47
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Это выбросить:

var subst = $('input[name*="subst"]').val();
var control = $('input[name*="control"]').val();
var konc = $('input[name*="konc"]').val();

а это

data: { subst: subst, control: control, konc: konc }

записать так:

data: $('селектор формы').serializeArray()

и не кнопкой в функцию, а можно обрабатывать событие отправки формы, тогда

data: $(this).serializeArray()

и без функции AjaxFormRequest.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как изменить значение jquey range в зависимости от значения select? drkrol jQuery 1 07.09.2015 01:24
Выводить значение раньше переменных Гробовщик Общие вопросы Javascript 11 10.09.2013 08:42
Подхватить значение в select djonA Общие вопросы Javascript 3 29.04.2013 13:15
Метод для конвертирования едениц px, em, %, pt. jegit Элементы интерфейса 0 07.03.2013 16:15
Как сохранить предыдущее значение select? MaxD Общие вопросы Javascript 3 21.07.2011 12:36