Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Отправка запроса POST Javascript (https://javascript.ru/forum/events/43738-otpravka-zaprosa-post-javascript.html)

kefalia 23.12.2013 13:23

Rise,
К примеру:
<select id="category_id">
    <option value="0">Все категории</option>
    <option value="1">Категория 1</option>
    <option value="2">Категория 2</option>
</select>

<select id="manufacter_id" onchange="postResult()">
    <option value="0">Все производители</option>
    <option value="1">Производитель 1</option>
    <option value="2">Производитель 2</option>
</select>


Для задачи нужно, чтобы через postResult() передавались 2 значения: значение поля <select id="category_id"> и значение поля <select id="manufacter_id">. Я теоретически понимаю, что обращаться нужно через getElementById(). Как это корректно прописать?

P.S. Спасибо большое за помощь :)

Rise 23.12.2013 14:42

kefalia, как то так:
<select id="category_id" onchange="postResult()">
	<option value="0">Все категории</option>
	<option value="1">Категория 1</option>
	<option value="2">Категория 2</option>
</select>
<select id="manufacter_id" onchange="postResult()">
	<option value="0">Все производители</option>
	<option value="1">Производитель 1</option>
	<option value="2">Производитель 2</option>
</select>

<script>
function postResult() {
	var catVal = document.getElementById('category_id').value;
	var manVal = document.getElementById('manufacter_id').value;
	var xhr = new XMLHttpRequest();
	var params  = 'result_cat=' + catVal + '&result_man=' + manVal;
	xhr.open('POST', '/test_selected_category.php', true);
	xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	xhr.onreadystatechange = function() {
		if (this.readyState == 4 && this.status == 200) {
			alert(this.responseText);
		}
	}
	xhr.send(params);
}
</script>

$_POST['result_cat']
$_POST['result_man']


Часовой пояс GMT +3, время: 04:18.