У меня есть веб-страница и веб-сетка на этой веб-странице, есть кнопка «Добавить», которая предоставляет пользователю возможность добавлять дополнительные записи в эту веб-сетку с помощью всплывающего окна, есть также опция «Изменить» для каждой строки в веб-сетке и поля и свойства модели для всплывающих окон 'Добавить' и 'Изменить' одинаковы ...
Я провел некоторую проверку, используя jquery для полей, если все поля содержат некоторые данные, тогда будет включена только кнопка «Сохранить» во всплывающих окнах «Добавить» и «Изменить», если какое-либо поле пусто, кнопка сохранения будет быть отключенным
Проблема в том, что когда пользователь открывает всплывающее окно «Добавить запись» и закрывает всплывающее окно без ввода каких-либо данных, а затем, когда он открывает всплывающее окно «Изменить запись», кнопка «Сохранить» отключается даже после того, как содержит все поля ...
Поэтому я просто очистил 'AddUserDiv' при нажатии кнопки отмены с помощью этого
$('#DivAddUser').html('');
Это устранило предыдущую проблему, но это создает новую проблему, когда я открываю всплывающее окно «Добавить запись» во второй раз, открывается пустое всплывающее окно, и на нем нет элементов управления
Когда я обновляю страницу и нажимаю всплывающее окно «Добавить запись», тогда все работает нормально в первый раз
2 ответа
Как только вы очистите HTML, используя
$('#DivAddUser').html('');
Он останется очищенным, если вы не назначите ему новый HTML, поэтому, как и ожидалось, ваш предыдущий макет не будет виден.
Итак, что вам нужно сделать, это очистить / сбросить значения всех элементов внутри div.
РЕДАКТИРОВАТЬ: на основе вашего комментария
Вы можете сохранить предыдущий HTML-код в переменной, прежде чем вызывать указанную выше функцию очистки как
previousHTML = $('#DivAddUser').html()
//should be done just once in the beginning
А затем позвоните
$('#DivAddUser').html('');
А затем при отображении всплывающего окна «Добавить запись» вы установили
$('#DivAddUser').html(previousHTML);
Но имейте в виду, что это неправильный способ удаления значений со страницы HTML. вам следует написать функцию clear (), в которой вы должны ссылаться на каждый элемент на странице и явно очищать или устанавливать значение по умолчанию.
Вы должны очистить поля ввода с помощью $('#elementID').val('');
если вы используете .html('')
, он очистит HTML внутри этого div
Похожие вопросы
Новые вопросы
jquery
jQuery - это библиотека JavaScript, рассмотрите возможность добавления тега JavaScript. jQuery - это популярная кросс-браузерная библиотека JavaScript, которая облегчает прохождение Document Object Model (DOM), обработку событий, анимацию и взаимодействие AJAX, сводя к минимуму расхождения между браузерами. Вопрос с тегом jQuery должен быть связан с jQuery, поэтому jQuery должен использоваться в рассматриваемом коде, и в вопросе должны быть как минимум элементы, связанные с использованием jQuery.