Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.07.2011, 16:22
Интересующийся
Отправить личное сообщение для WooDFox Посмотреть профиль Найти все сообщения от WooDFox
 
Регистрация: 04.07.2011
Сообщений: 11

Отправка формы загрученной через ajax
Есть документ, в который по запросу подгружается форма. Метод serialize не собирает с нее данные. Почему?

<script type="text/javascript" src="js/jquery.js"></script> // Версия 1,6,2
<script type="text/javascript" src="js/jquery.simplemodal.js"></script> // 1.4.1


$.ajax({   
	url: "ФАЙЛ.php?action="+action+"&id="+id+"&name="+name,   
	cache: false,   
	success: function(html){   
		$("#ModalContent").html(html); // Вставили полченный запрос (форму) в див
		$("#ModalWin").modal(); // Отобразили див с помощью jQuery.SimpleModal
	}   
});


<form action="" method="post" id="formModal">
	<input type="hidden" name="action" value="add" />
	<input type="hidden" name="tariff_id" value="N" />
	<input type="hidden" name="tariff_name" value="E" />
</form>


Загружается в див некая форма с id "formModal" и с ней же следующий код...

function SendForm_Modal () {
	var string = $("#formModal").serialize();
	$.post("config/tariff_zone_fn.php", string, function(data) {
		if (data == "ok") {
			// Обрабатываем ответ
		} else {
			// Обрабатываем ответ
		}
	});
	return false;
};
// Код сокращен


При вызове функции "SendForm_Modal" все действия происходят, но метод serialize() выдает пустую строку. Что не так?
Ответить с цитированием
  #2 (permalink)  
Старый 04.07.2011, 16:52
Интересующийся
Отправить личное сообщение для WooDFox Посмотреть профиль Найти все сообщения от WooDFox
 
Регистрация: 04.07.2011
Сообщений: 11

Ещё непонятно то, что таким же методом реализована авторизация на другом моем проекте, там всё работает. Версия JQ и SM одинаковая...
Ответить с цитированием
  #3 (permalink)  
Старый 04.07.2011, 17:03
Интересующийся
Отправить личное сообщение для WooDFox Посмотреть профиль Найти все сообщения от WooDFox
 
Регистрация: 04.07.2011
Сообщений: 11

Если добавляю аналогичную форму в основной документ, serialize срабатывает, но, естественно, с данными начальной формы, а не загруженной аяксом.

Пожалуйста, помогите разобраться.
Ответить с цитированием
  #4 (permalink)  
Старый 04.07.2011, 17:07
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

может, на странице есть еще один элемент с id="formModal" ?
Ответить с цитированием
  #5 (permalink)  
Старый 04.07.2011, 17:31
Интересующийся
Отправить личное сообщение для WooDFox Посмотреть профиль Найти все сообщения от WooDFox
 
Регистрация: 04.07.2011
Сообщений: 11

Сообщение от melky Посмотреть сообщение
может, на странице есть еще один элемент с id="formModal" ?
Уже всё поперелопатил - нет одинаковых элементов.
Есть другая форма с id "form", но я не думаю что в этом проблема. Имя пробовал менять, не помогает(
Ответить с цитированием
  #6 (permalink)  
Старый 04.07.2011, 17:47
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

проверь, та ли эта форма. мне кажется, что всё же нет

вывод смотреть в FireBug(firefox), или инструменты веб-разработчика в семействе вебкитов ( я думаю, ты знаешь, где смотреть)
console.log( document.getElementById("formModal") );
Ответить с цитированием
  #7 (permalink)  
Старый 04.07.2011, 17:49
Интересующийся
Отправить личное сообщение для WooDFox Посмотреть профиль Найти все сообщения от WooDFox
 
Регистрация: 04.07.2011
Сообщений: 11

Пока пытался выловить в чем баг, обнаружил следующее:
В IE9 и Chrome12 форма прекрасно отрабатывает.
В Опере 11,11 и ФФ4 форма не сериализится вообще - серверу не передается ни один из параметров
В Опере 11,50 и ФФ5 передаются только значения полей hidden, обычные поля не пердаются.

Точно такое же решение на другом портале, в этих же браузерах работает безупречно... Пожалуйста, помогите!
Ответить с цитированием
  #8 (permalink)  
Старый 04.07.2011, 17:51
Интересующийся
Отправить личное сообщение для WooDFox Посмотреть профиль Найти все сообщения от WooDFox
 
Регистрация: 04.07.2011
Сообщений: 11

Сообщение от melky Посмотреть сообщение
проверь, та ли эта форма. мне кажется, что всё же нет

вывод смотреть в FireBug(firefox), или инструменты веб-разработчика в семействе вебкитов ( я думаю, ты знаешь, где смотреть)
console.log( document.getElementById("formModal") );
Да, форма однозначно та же. (См. пред. пост)
Смотрел и в файрбаге, и в драгонфлай и в гуглохромовском отладчике.

При этом, файрбаг показывает: пустой пост запрос
драгонфлай: пустой пост, но при этом до получающего скрипта доходить часть информации (это как?)
гуглохром шлет всё как миленький

Файрбаг:
>>> console.log( document.getElementById("formModal") );
<form id="formModal" method="post" action="">
Ответить с цитированием
  #9 (permalink)  
Старый 04.07.2011, 17:53
Интересующийся
Отправить личное сообщение для WooDFox Посмотреть профиль Найти все сообщения от WooDFox
 
Регистрация: 04.07.2011
Сообщений: 11

Могу дать доступ напрямую в интерфейс, там все равно пока ничего критичного нет...
Ответить с цитированием
  #10 (permalink)  
Старый 04.07.2011, 18:02
Интересующийся
Отправить личное сообщение для WooDFox Посмотреть профиль Найти все сообщения от WooDFox
 
Регистрация: 04.07.2011
Сообщений: 11

В общем, если кто может помочь:
http://demo.woodfox.ru/admin/
test / test

Тарификация > Тарифные планы > Базовый > Добавить тарифную зону
Вот тут проблема.

Заранее благодарю.

ЗЫ: Все файлы в единой кодировке.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка формы SARD jQuery 0 26.05.2011 10:52
кеширование HTML переданого через ajax BorisBritva jQuery 6 02.04.2011 01:23
Вызов функции печати страницы полученной через AJAX Garik AJAX и COMET 4 02.03.2011 17:05
Послать форму загруженную через ajax в div используя ajax ncux jQuery 2 16.08.2010 17:36
Автоматическая отправка формы через JavaScript без использования body onload pavluxa09 Общие вопросы Javascript 0 17.11.2009 15:55