Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Доступ к значениям элементов формы модального окна. (https://javascript.ru/forum/jquery/24772-dostup-k-znacheniyam-ehlementov-formy-modalnogo-okna.html)

=VNK= 13.01.2012 16:36

Доступ к значениям элементов формы модального окна.
 
Здравствуйте!
Нужно получить значения элементов формы, расположенной в всплывающем окне.
Код формы:
<form id="orderForm" action="/order/add">
    <select id="color" name="color">
		<option value="red">red</option>
		<option value="green">green</option>			
		</select>
	<input type="text" name="orderNum" id="orderNum" class="num" value="1"  /> шт.
	<input type="hidden" name="itemId" id="itemId" value="5" />	
	<div class="add-basket"><input type="image" id="orderFormSubmit" src="img/add_basket.png" /></div>
</form>

JS код:
$(document).ready(function(){
    $('#orderForm').submit(orderFormSubmit);        
});

function orderFormSubmit(e)
{
    var id       = $('#itemId').val();
	var num      = $('#orderNum').val();
	var color    = $('#color').is() ? $('#color').val() : '';
}

Получаю пустые значения. Подскажите в чем ошибка и как получить значения.

ksa 13.01.2012 20:49

=VNK=, что есть в твоём понятии "всплывающее окно"? Ты в состоянии сделать полный тестовый пример?

Потому как вот это

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
$(document).ready(function(){
    alert($('#itemId').val());
	alert($('#orderNum').val());
	alert($('#color').val());
});
</script>
</head>
<body>
<form id="orderForm" action="/order/add">
    <select id="color" name="color">
		<option value="red" select>red</option>
		<option value="green">green</option>			
		</select>
	<input type="text" name="orderNum" id="orderNum" class="num" value="1"  /> шт.
	<input type="hidden" name="itemId" id="itemId" value="5" />	
	<div class="add-basket"><input type="image" id="orderFormSubmit" src="img/add_basket.png" /></div>
</form>
</body>
</html>

таки работает.

=VNK= 13.01.2012 23:50

Цитата:

Сообщение от ksa (Сообщение 150270)
=VNK=, что есть в твоём понятии "всплывающее окно"?

В моем понятии "всплывающее окно" это всплывающее окно. Мжно PopUp окном назвать.
Цитата:

Сообщение от ksa (Сообщение 150270)
Ты в состоянии сделать полный тестовый пример?

В состоянии, только код формы получается с сервера через ajax запрос. PopUp окно реализовано с помощью плагина FancyBox. При клике на ссылку происходит ajax запрос к серверу. В ответе приходит html код формы, которая выводится в PopUp окне. Обработчик события прикреплен через live().

ksa 14.01.2012 11:23

Цитата:

Сообщение от =VNK=
В моем понятии "всплывающее окно" это всплывающее окно. Мжно PopUp окном назвать.

Ну теперь-то всё понятно! :lol:

=VNK= 14.01.2012 14:35

Цитата:

Сообщение от ksa (Сообщение 150460)
Ну теперь-то всё понятно! :lol:

Спасибо, содержательный ответ.

=VNK= 14.01.2012 16:00

Тревога оказалась ложной. После того, как получил значения через
$('input#orderNum').val();
появилось предположение о существовании еще одного элемента с тем же самым именем id. Оно действительно имеется на странице в блоке корзины покупок. Так как форма изначально отсутствует в DOM, ошибка в виде двух id с одним и тем же именнем не обнаруживалась.


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