Javascript.RU

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

Не срабатывает функция по клику
Помогите разобраться, в чем дело.

Не срабатывает функция по клику:
$('#notification_print').click (function SaveCitizenData() {
	$("input[role='citizen']").each(function(elem) {
		localStorage.setItem($(this).attr('name'), $(this).val())
	});
	$("input[role='citizen_date']").each(function(elem) {
		DateSub($(this).attr('name'),$(this).val());
	});
	if ($("#start_work").prop("checked")) 
		document.location.href = 'startwork.html'
	else if ($("#end_work").prop("checked"))
		document.location.href = 'endwork.html'
	else
	$("div.warning").html("Выберите форму, которую нужно заполнить!");
});


<button id="notification_print" type="submit" class="btn btn-primary">Заполнить и распечатать форму</button>


При этом код, запущенный в консоли devtools работает нормально:
$("input[role='citizen']").each(function(elem) {
		localStorage.setItem($(this).attr('name'), $(this).val())
	});
	$("input[role='citizen_date']").each(function(elem) {
		DateSub($(this).attr('name'),$(this).val());
	});
	if ($("#start_work").prop("checked")) 
		document.location.href = 'startwork.html'
	else if ($("#end_work").prop("checked"))
		document.location.href = 'endwork.html'
	else
	$("div.warning").html("Выберите форму, которую нужно заполнить!");
Ответить с цитированием
  #2 (permalink)  
Старый 03.11.2015, 14:19
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от CrKid
Не срабатывает функция по клику
либо элементов ещё нет на странице либо вы эту страницу перезагружаите кликом
Ответить с цитированием
  #3 (permalink)  
Старый 03.11.2015, 15:26
Новичок на форуме
Отправить личное сообщение для CrKid Посмотреть профиль Найти все сообщения от CrKid
 
Регистрация: 03.11.2015
Сообщений: 4

Сообщение от рони Посмотреть сообщение
либо элементов ещё нет на странице либо вы эту страницу перезагружаите кликом
но при клике вот эта часть функции работает нормально, т е данные из полей input[role='citizen'] нормально записываются в localstorage:
$("input[role='citizen']").each(function(elem) {
		localStorage.setItem($(this).attr('name'), $(this).val())
	});
	$("input[role='citizen_date']").each(function(elem) {
		DateSub($(this).attr('name'),$(this).val());
	});

таким образом почему-то не работает конструкция:
if ($("#start_work").prop("checked")) 
		document.location.href = 'startwork.html'
	else if ($("#end_work").prop("checked"))
		document.location.href = 'endwork.html'
	else
	$("div.warning").html("Выберите форму, которую нужно заполнить!");

Последний раз редактировалось CrKid, 03.11.2015 в 15:29.
Ответить с цитированием
  #4 (permalink)  
Старый 03.11.2015, 15:35
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от CrKid
type="submit"
Ответить с цитированием
  #5 (permalink)  
Старый 03.11.2015, 16:02
Новичок на форуме
Отправить личное сообщение для CrKid Посмотреть профиль Найти все сообщения от CrKid
 
Регистрация: 03.11.2015
Сообщений: 4

Т е type="submit" мешается?
Удалил:
<button id="notification_print" class="btn btn-primary">Заполнить и распечатать форму</button>

не работает.

Для примера, вот эта функция отрабатывает нормально:
$('#changeconst').click (function ChangeConstData() {
	$("input[role='const']").each(function(elem) {
		localStorage.setItem($(this).attr('name'), $(this).val());
	}),
	$("input[role='const_firmstatus']").each(function(elem) {
		if ($(this).prop("checked")) 
			localStorage.setItem($(this).attr('id'), 'X')
		else
			localStorage.setItem($(this).attr('id'), ' ');
	});
	$("input[role='const_work']").each(function(elem) {
		if ($(this).prop("checked"))
			localStorage.setItem($(this).attr('id'), 'X')
		else
			localStorage.setItem($(this).attr('id'), ' ');
	});
});

<button type="submit" id="changeconst" class="btn btn-primary">Изменить реквизиты</button>
Ответить с цитированием
  #6 (permalink)  
Старый 03.11.2015, 16:41
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от CrKid
Удалил:
это не изменит ничего
нужно type="button"
Ответить с цитированием
  #7 (permalink)  
Старый 03.11.2015, 16:55
Новичок на форуме
Отправить личное сообщение для CrKid Посмотреть профиль Найти все сообщения от CrKid
 
Регистрация: 03.11.2015
Сообщений: 4

Аллилуйя!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция назначенная обработчику события срабатывает сразу Velidan Общие вопросы Javascript 9 18.02.2015 17:02
Функция, которая по клику вытягивает данные и выводит их Maxsl_89 Элементы интерфейса 2 21.10.2013 16:10
JQuery Form иногда не срабатывает функция обратного вызова success fedyak jQuery 2 23.01.2013 11:03
Функция срабатывает два раза, а должна - один pevec1 Элементы интерфейса 1 03.03.2012 04:29
Почему функция срабатывает один раз? Bogdan808 Javascript под браузер 4 06.09.2010 23:41