Вход

Просмотр полной версии : Не срабатывает функция по клику


CrKid
03.11.2015, 13:58
Помогите разобраться, в чем дело.

Не срабатывает функция по клику:
$('#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("Выберите форму, которую нужно заполнить!");

рони
03.11.2015, 14:19
Не срабатывает функция по клику
либо элементов ещё нет на странице либо вы эту страницу перезагружаите кликом

CrKid
03.11.2015, 15:26
либо элементов ещё нет на странице либо вы эту страницу перезагружаите кликом

но при клике вот эта часть функции работает нормально, т е данные из полей 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("Выберите форму, которую нужно заполнить!");

рони
03.11.2015, 15:35
type="submit"
:-?

CrKid
03.11.2015, 16:02
Т е 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>

рони
03.11.2015, 16:41
Удалил:
это не изменит ничего
нужно type="button"

CrKid
03.11.2015, 16:55
Аллилуйя!