Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.02.2012, 15:27
Аспирант
Отправить личное сообщение для SkaN Посмотреть профиль Найти все сообщения от SkaN
 
Регистрация: 27.08.2011
Сообщений: 50

Через append() создается форма, наполняется, но append'иться в div не хочет
$(document).ready(function() {
	$("button#reduct").click(function() {
		var id = $("span#block_id").text();
		var name = $("h1#block_name").text();
		var text = $("div#block_text").text();
		if ($("span#block_menu").text() == "Этот блок отображается в меню") var menu = 1;
		else var menu = 0;
		$("h1#block_name").remove();
		$("div#block_text").remove();
		$("span#block_menu").remove();
		$(this).remove();
		$("div#content").append($("form#reduct_block"));
		$("form#reduct_block").append("input#name").append("textarea#text").append("input#menu").append("input#submit").append("button#cancel");
		$("input#name").before("<h1>Редактирование блока</h1><br />Имя: ").attr("type", "input").attr("value", name);
		$("textarea#text").before("<br />Текст:<br />").val(text);
		$("input#menu").before("<br />Показывать этот блок в меню? ").attr("type", "checkbox");
		$("input#submit").before("<br />").attr("value", "Сохранить").attr("method", "post").attr("action", "?id=block&block="+id+"&act=reduct");
		$("button#cancel").attr("type", "submit").append("Отмена");
	});
});


функция должна из некоторых элементов вытаскивать значения, эти элементы потом удалять, создать и отредактировать на фоне форму и вставить ее на место удаленных элементов. но на удалении элементов видимый результат заканчивается. может, конечно, форма на фоне создается, но по крайней мере она уж точно не вставляется. но если вставить, например, alert("test") в конец функции, то он выскочит, значит где-то я накосячил, скорее всего. не подскажете, в чем может быть проблема?..
Ответить с цитированием
  #2 (permalink)  
Старый 23.02.2012, 16:52
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

первый раз вижу такую запись
append("input#name")

думаю вам нужно
append($("input#name"));
__________________
Лучше калымить в гандурасе чем гандурасить на колыме
Ответить с цитированием
  #3 (permalink)  
Старый 23.02.2012, 17:36
Аспирант
Отправить личное сообщение для SkaN Посмотреть профиль Найти все сообщения от SkaN
 
Регистрация: 27.08.2011
Сообщений: 50

$("form#reduct_block").append($("input#name")).append($("textarea#text")).append($("input#menu")).append($("input#submit")).append($("button#cancel"));
$("input#name").before("<h1>Редактирование блока</h1><br />Имя: ").attr("type", "input").attr("value", name);
$("textarea#text").before("<br />Текст:<br />").val(text);
$("input#menu").before("<br />Показывать этот блок в меню? ").attr("type", "checkbox");
$("input#submit").before("<br />").attr("value", "Сохранить").attr("method", "post").attr("action", "?id=block&block="+id+"&act=reduct");
$("button#cancel").attr("type", "submit").append("Отмена");
$("div#content").append($("form#reduct_block"));

теперь так, но все равно эффект тот же
Ответить с цитированием
  #4 (permalink)  
Старый 23.02.2012, 19:18
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

по моему первую строчку ещё можно вот так укоротить $("form#reduct_block").append($("input#name, textarea#text, input#menu"))

А вообще вы уверены что форму стоит переносить, а не проще ли её тупо создать заново там где вам угодно. А то у вас до попы изменений в этой форме. Ума немогу приложить чем оправдана такая сложная и бессмысленная метаморфоза.

что касается ошибки вряд ли её можно определить на форуме без исходного html хотя бы.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 23.02.2012 в 19:28.
Ответить с цитированием
  #5 (permalink)  
Старый 24.02.2012, 12:17
Аспирант
Отправить личное сообщение для SkaN Посмотреть профиль Найти все сообщения от SkaN
 
Регистрация: 27.08.2011
Сообщений: 50

Сообщение от DjDiablo
А вообще вы уверены что форму стоит переносить
так я ее заново создаю, ее не было нигде.
исходный HTML:
<div id="content" name="content">
<span id="block_id" name="block_id" hidden>Block ID</span><h1 id="block_name" name="block_text">Block name</h1>
<div id="block_text" name="block_text">Block content</div>
<span id="block_menu" name="block_menu">Этот блок отображается в меню</span><br />
<button id="reduct" name="reduct">Редактировать</button>
Ответить с цитированием
  #6 (permalink)  
Старый 26.02.2012, 16:30
Аспирант
Отправить личное сообщение для SkaN Посмотреть профиль Найти все сообщения от SkaN
 
Регистрация: 27.08.2011
Сообщений: 50

Действительно, все это делалось как-то кривовато. Я решил по-другому и проблема отпала сама собой...)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Послать форму загруженную через ajax в div используя ajax ncux jQuery 2 16.08.2010 17:36