Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.03.2014, 18:32
Аспирант
Отправить личное сообщение для NapalmRain Посмотреть профиль Найти все сообщения от NapalmRain
 
Регистрация: 17.03.2014
Сообщений: 40

Не каждый раз отрабатывает jQuery.form
Доброго всем времени суток!

Есть форма, в ней всего одно поле.
<form method=POST id='newRole' name='newRole' action='newRole' onSubmit='showLoader();'>
				<h3>Создание новой роли</h3>
				<table>
					<tr>
						<td>Имя новой роли: </td><td><input name='name' type='text'></td>
					</tr>
					<tr>
						<td colspan=2><input type='submit' value='Добавить'></td>
					</tr>
				</table>
				</form>

И код, прописанные в $('document').ready
$('#newRole').ajaxForm({ 
		success: function(resp) {
			var s = resp.substring(0, 4);
				if (s=="good") {
					$('#inform').html("Роль успешно добавлена");
					var timerOnce = window.setTimeout("location.href='profile';", 4000);
				} else if (resp=="errordb") {
					$('#inform').html("При сохранении возникли проблемы.");
					var timout = setTimeout(closeinform, 3000);
				} else {
					$('#inform').html("Произошла неизвестная ошибка."+resp);
					var timout = setTimeout(closeinform, 3000);
				}
		}
	});

Так вот для всех остальных форм на сайте ровно такая же конструкция работает стабильно, а в случае с этой формой происходит загрузка страницы, как будто jQuery.form и не подключен к ней вовсе.

Возможно, проблема в том, что эта форма находится в блоке, который по умолчанию имеет
Код:
disply: none;
Но я прописывал эту же функции определения формы в функцию, в которой блок отображает содержимое на странице, это не помогло.

Очень прошу подсказки. пол дня уже бьюсь, никак не могу понять, в чём проблема.

Заранее благодарю!
Ответить с цитированием
  #2 (permalink)  
Старый 18.03.2014, 18:56
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

А зачем ты вообще подключил query.form? Ты вобще, знаешь зачем этот плагин нужен? Судя по коду - нет
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 19.03.2014, 09:45
Аспирант
Отправить личное сообщение для NapalmRain Посмотреть профиль Найти все сообщения от NapalmRain
 
Регистрация: 17.03.2014
Сообщений: 40

Сообщение от danik.js Посмотреть сообщение
А зачем ты вообще подключил query.form? Ты вобще, знаешь зачем этот плагин нужен? Судя по коду - нет
прям вот чувствую, что мне сейчас глаза откроют. уже как два года использую этот плагин для отправки данных с помощью ajax и всё было прекрасно. Где же я не прав?
Ответить с цитированием
  #4 (permalink)  
Старый 19.03.2014, 09:54
Аспирант
Отправить личное сообщение для NapalmRain Посмотреть профиль Найти все сообщения от NapalmRain
 
Регистрация: 17.03.2014
Сообщений: 40

Прям в недоумении, что ж я не так использую-то? http://www.malsup.com/jquery/form/
Ответить с цитированием
  #5 (permalink)  
Старый 19.03.2014, 10:34
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от NapalmRain
для отправки данных с помощью ajax
А так не пробовал?:
$('form').submit(function(){
    $.post({url: this.action, data: $(this).serialize(), success: ...})
});

А плагин нужен в первую очередь для отправки форм с файлами, так как реализует shim через фрейм в старых браузерах.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #6 (permalink)  
Старый 19.03.2014, 10:59
Аспирант
Отправить личное сообщение для NapalmRain Посмотреть профиль Найти все сообщения от NapalmRain
 
Регистрация: 17.03.2014
Сообщений: 40

Сообщение от danik.js Посмотреть сообщение
А зачем ты вообще подключил query.form? Ты вобще, знаешь зачем этот плагин нужен? Судя по коду - нет
Сообщение от danik.js Посмотреть сообщение
А так не пробовал?:
$('form').submit(function(){
    $.post({url: this.action, data: $(this).serialize(), success: ...})
});

А плагин нужен в первую очередь для отправки форм с файлами, так как реализует shim через фрейм в старых браузерах.
Это я тоже знаю. На сайте множество различных форм, в том числе и с асинхронной загрузкой файлов. Для простоты использования и понимания кода, плагин использую для всех. Хуже же жить от этого никому не стало.
Есть формы, которые отправляю так:
data = $("#newUser").formSerialize();
	$.ajax({
		'type'    : "POST",
		'data'    : data,
		'url'     : 'addUser',
		'success' : function (resp) {
...


Но хочется всё таки понять, почему не отрабатывает именно эта конструкция. Докопаться, так сказать, до истины.
Ответить с цитированием
  #7 (permalink)  
Старый 19.03.2014, 11:31
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Что видишь в консоли ошибок? Id формы точно уникален? Пропиши временно для формы onsubmit="return false" это отменит перезагрузку. Может ошибка в консоль падает, но тут же очищается из-за перезагрузки.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #8 (permalink)  
Старый 19.03.2014, 12:18
Аспирант
Отправить личное сообщение для NapalmRain Посмотреть профиль Найти все сообщения от NapalmRain
 
Регистрация: 17.03.2014
Сообщений: 40

Сообщение от danik.js Посмотреть сообщение
Что видишь в консоли ошибок? Id формы точно уникален? Пропиши временно для формы onsubmit="return false" это отменит перезагрузку. Может ошибка в консоль падает, но тут же очищается из-за перезагрузки.
Да, благодарю ,чувствую себя немного идиотом.
Консоль ошибок не выдала, тогда решил проверить на уникальность айди, оказалось, что такой же точно айди был придуман при вёрстке блоку заголовка страницы...

Проблема решена.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вывести дату, чтобы не повторять скрипт пару раз xXapokalypsesXx Общие вопросы Javascript 10 27.06.2013 13:43
[GM] Нежалательный запуск скрипта несколько раз VitAl2013 Firefox/Mozilla 5 01.08.2012 11:58
Как сделать так что бы каждый раз открывалась разная страница Fiestu Общие вопросы Javascript 4 11.09.2011 20:27
Обработчик click вызывается несколько раз или не всегда вызывается OlegJquery jQuery 2 21.07.2011 20:37
window.open Каждый раз в новом окне MadGest Общие вопросы Javascript 4 04.09.2010 16:14