Пропадает видимость подгружаемого элемента
Есть два дива меню (ссылки) и результат (Подгружаемая форма)
<div id='link'> <a id="link1" href="#">Анкета</a><br> </div> <div id=resultat></div> Нажимая на ссылку в меню мы подгружаем форму с анкетой: <form> <textarea id='anketa' rows='10' cols='45' name='anketa'>/textarea><br> <a id="scan_anketa" href="#">Обработать</a><br> </form> JS код function initialize() { //Обработчик Меню $('a').click(function (e){ if(this.id == "link1") loadFormAnketa(); }); // Обработчик Формы Анкеты document.getElementById('resultat').onclick = function(e) { // Получаем event.target var event = e || window.event; var target = event.target || event.srcElement; // Проверим, интересует ли нас этот клик? // если клик был не на ссылке, то нет if (target.tagName != 'A') return; // Обработать клик по ссылке var link_id = target.getAttribute('id'); if(link_id == "scan_anketa") scanAnketa(); return false; }; } function loadFormAnketa() { $('#resultat').load('ajax_form_anketa.html'); } function scanAnketa() { document.getElementById("anketa").innerHTML = "Данные"; alert('OK'); } При первом нажатии на подгруженную ссылку "ОБРАБОТАТЬ" все работает как и задумано, в текстовом поле появляются "Данные". Но если стереть в текстовом поле и опять нажать на ссылку "Обработать" то в текстовом поле нечего не появляется. Использовал разные элементы формы input, select. Разные обращения к элементам $('textarea').attr("value",'Данные');. Результат не изменился, к полям формы я могу обратится только один раз, далее видимость элемента в DOM "пропадает". Возобновляется видимость элементов формы только когда я заново подгружаю форму через див меню. Помогите исправить, хотелось бы работать с подгружаемым контентом (элементами форм) без ограничений и без перезагрузки постоянно формы. |
Здесь не закрыт тег:
<textarea id='anketa' rows='10' cols='45' name='anketa'>/textarea> Здесь не хватает кавычек: <div id=resultat></div> По сути вопроса - пробуйте так: document.getElementById('anketa').value = 'Данные'; или, раз используете jQuery: $('#anketa').val('Данные'); Да и вообще: function initialize() { //Обработчик Меню $('a#link1').click(function (){ loadFormAnketa(); }); // Обработчик Формы Анкеты $('#resultat').on('click', 'a#scan_anketa', function() { scanAnketa(); }); } function loadFormAnketa() { $('#resultat').load('ajax_form_anketa.html'); } function scanAnketa() { $('#anketa').val('Данные'); alert('OK'); } |
Спасибо за ответ.
Это была сокращенная версия моего кода, что бы не захламлять. Ошибки: 1. Не закрытый тег не было, при копировании напортачил. 2. Отсутствие ковычек на id=resultat присутствовала, Исправил. Создал чистый скрипт по примеру что я написал, все работает отлично. Видимо где то кроются ошибки в остальном (полном) коде то что я не выкладывал. Буду искать. Спасибо за помощь. |
Часовой пояс GMT +3, время: 01:10. |