2013-07-26 1 views
0

Я проверил и нашел другие вопросы, но не ответил на то, что мне нужно. Я использую ремешки для загрузки и имею мода для набора вопросов с запросом на забытый пароль. Я могу заставить модальность появляться и исчезать. однако моя проблема заключается в том, что окно вызывается во второй раз, когда кнопка отправки не работает.как уничтожить bootstrap modal, но использовать снова позже

на скрытом Я убирая значения формы и удаление модального

$('#forgotPassModal').on('hidden', function() { 
    $("#forgotPassForm input").each(function() { 
     $(this).val(null); 
    }); 
    $('#forgotPassModal').remove(); 
}); 

так вот сценарий я имею вопрос с

Пользователем заходит на страницу и активирует модальность, отменяет modal, затем снова активирует модальный. Затем пользователь заполняет вопросы и нажимает кнопку отправки.

в этом случае кнопка отправки не активирует ИТС события нажатия

здесь код нажмите.

$('#forgotPassSubmit').click(function() { 
     var questAnswered = true; 
    for (var i = 0; i < $forgotPassQuest.questionId.length; i++){ 
      var questionId = $forgotPassQuest.questionId[i]['id']; 
     if ($('#forgotPass_' + questionId).val() == '' || $('#forgotPass_' + questionId).val() == null){ 
      questAnswered = false; 
     } else {} 
    } 
    if (questAnswered == true) { 
     submitAnswers(); 
    } else { 
     alert('please complete your security questions.'); 
    } 
}); 

если пользователь вызывает модальность и отвечает на вопрос и хитами представить это работает если вы звоните модальный, отменить, назовем его второй раз и представить его не работает.

Что мне не хватает?

благодаря

Джефф

+0

, где ваш обработчик щелчка определяется в файлах? это в модальном или на главной странице? вам может понадобиться использовать делегирование делегирования, если вы динамически добавляете/удаляете кнопку отправки –

+0

Мне интересно, что это за HTML? Используете ли вы шаблон «отправить кнопку внутри формы»? Если это так, вы можете реорганизовать свои события на отправку, а не на нажатие кнопки. –

ответ

1

(косяк комментарий не достаточно реп)

Я имел этот вопрос до того, проверьте, чтобы убедиться, что всплывающее окно разве добавляется в DOM в два раза сибсов один другой. Поскольку у вас есть кнопка отправки в качестве идентификатора, она сломает страницу, если она найдена в DOM дважды.

2 исправления:

Первый - Где у вас есть всплывающее окно строится, или открыт, добавьте $(popup's class/id).hide(); в первой строке функции. Это позволит убедиться, что всплывающее окно не создано во второй раз после того, как оно не будет полностью удалено во второй раз.

Второй - Вместо того, чтобы назначить идентификатор для кнопки отправки, попробуйте сделать это с помощью класса .forgotPassSubmit то есть везде, где он появляется в коде. Это должно обойти ситуацию, в которой имеется несколько в DOM по какой-либо причине, и по-прежнему позволяет зацепить в действие щелчка на нем

Alex

+1

Спасибо, что сменили кнопку на класс. –

Смежные вопросы