Пропадает видимость подгружаемого элемента
Есть два дива меню (ссылки) и результат (Подгружаемая форма)
<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, время: 23:08. |