Показать сообщение отдельно
  #3 (permalink)  
Старый 22.03.2010, 01:03
Новичок на форуме
Отправить личное сообщение для Морф Посмотреть профиль Найти все сообщения от Морф
 
Регистрация: 22.03.2010
Сообщений: 3

// Функции вызова формы
function start_edit(id){
	editor_form = new vB_AJAX_Handler(true);
	editor_form.onreadystatechange(start_edit_done);
	editor_form.send('script.php?do=starteditor&id=' + id);
}
function start_edit_done(){
	if (editor_form.handler.readyState == 4 && editor_form.handler.status == 200){
		fetch_object('item_editor_form').innerHTML = editor_form.handler.responseText; // Получаем от PHP скрипта форму для редактирования
	}
}
// Само редактирование
function edit(){
	form = document.forms.editform;
	name = form.name.value;
	// Ещё кое что
	id = form.id.value;
	edit_edititem = new vB_AJAX_Handler(true);
	edit_edititem.onreadystatechange(edit_done);
	edit_edititem.send('script.php?do=edititem&id=' + id + '&name=' + name + 'ещё кое что');
}
function edit_done(){
	if (edit_edititem.handler.readyState == 4 && edit_edititem.handler.status == 200){
		fetch_object('item_editor_form').innerHTML = edit_edititem.handler.responseText; // Сообщает, что вещь успешно отредактирована
	}
}

Что является вполне стандартным вариантом для этих модулей, по крайней мере нечто подобное я видел в примере.
Но код-то работает, вопрос не в этом. Вопрос в том, из-за чего возникает это своеобразное кеширование, создающее невозможность повторного редактирования без обновления страницы. Форма повторно вызывается прекрасно, а вот данные с неё не отправляются.
Ответить с цитированием