Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Создание div'a нажатием на ссылку
 
 автор: FireTiger   (07.04.2008 в 00:39)   письмо автору
 
 

Сабж. Мне нужно чтобы при нажатии на ссылку или на кнопку, в определенный div создавался и вставлялся новый div с какими либо параметрами. Как это сделать?

Как я себе это представляю:
У меня сверху есть ссылка а ниже ее размещен div почти на весь экран. При нажатии на ссылку, должен создаться новый div с определенными параметрами и вставится в тот нижний div.

Понятия не имею как это реализовать((
Нужна помощь

   
 
 автор: deman-b   (07.04.2008 в 02:46)   письмо автору
 
   для: FireTiger   (07.04.2008 в 00:39)
 

а обязательно его создовать?
он например может быть, но его не видно будет а потом при клике по ссылке появится..
вот:

<script type="text/javascript">
  function click(act) {
      if(act=='show') {
          document.getElementById('div2').style.display = 'block';
      }
      if(act=='hide') {
          document.getElementById('div2').style.display = 'none';
      }
  }
</script>
<style>
#div1 {
    border: 1px solid #000000;
    position: relative;
}
#div2 {
    border: 1px solid #00FF00;
    display: none;
    position: relative;
}
</style>
<a href="javascript:click('show')">Show</a>
<a href="javascript:click('hide')">Hide</a>
<div id="div1">
  <div id="div2">ЭТО СЛОЙ №2</div>
</div>

   
 
 автор: FireTiger   (07.04.2008 в 10:05)   письмо автору
 
   для: deman-b   (07.04.2008 в 02:46)
 

Спасибо, но как раз нужно создать(
Таких элементов нужно добавлять в неограниченом количестве...

Я вот что подумываю, можно где-то в скрипте хранить макет этого div'a а при нажатии на ссылку его вставлять в нужное место. Проблема в том, как же его вставить в нужно место? Вот допустим при нажатии на ссылку сформировался div в переменной, а потом нужно его вывести между <div id="div1">Вот сюда</div>, а как его именно в то место вывести?

   
 
 автор: FireTiger   (07.04.2008 в 10:47)   письмо автору
 
   для: FireTiger   (07.04.2008 в 10:05)
 

Вот написал так, но ничего не происходит, можете плз проверить что не так.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//RU" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Untitled Document</title>
<script type="text/javascript"> 
  function insert_div(id,text,id_insert){
    var str = '<div id='+id+'>'+text+'</div>'
    document.getElementByID(id_insert).innerHTML = str
}
</script>
</head>
<body>
<a href="#" onclick="insert_div('div2','ЭТО СЛОЙ №2','div1')">click</a> 
<div id="div1"> 
  
</div>
</body>
</html>

   
 
 автор: ONYX   (07.04.2008 в 10:53)   письмо автору
 
   для: FireTiger   (07.04.2008 в 10:05)
 

Вставляй пока не надоест
<html> 
<head> 
<title>Project</title> 
</head> 
<style>
#list{width:100%; height:100%; border:solid 1px #999999;}
#list div{border:solid 1px #999999;}
</style>
<body> 
<a href="javascript:Add()">Добавить</a>
<div id="list">&nbsp;
</div> 
</body> 
<script> 
function Add(){ 
var parent = document.getElementById('list'); 
var div = document.createElement('DIV');
div = parent.appendChild(div); 
div.innerHTML = 'Hello World!';

</script> 
</html> 

   
 
 автор: FireTiger   (07.04.2008 в 11:56)   письмо автору
 
   для: ONYX   (07.04.2008 в 10:53)
 

Спасибо огромное!!

   
 
 автор: FireTiger   (07.04.2008 в 12:19)   письмо автору
 
   для: FireTiger   (07.04.2008 в 11:56)
 

А как можно сохранить получившиеся результаты в файл?

   
 
 автор: FireTiger   (07.04.2008 в 12:50)   письмо автору
 
   для: FireTiger   (07.04.2008 в 12:19)
 

И еще, а как прописать параметры к новому создаваемому div'у ? Например, мне нужно к этому диву добавить обработку события onclick="func()" и прописать ID="id_element".

Т.е. как я хочу чтобы выглядела система:
Вверху есть ссылка "добавить элемент", при нажатии на нее в поле снизу добавляется элемент с параметрами по умолчанию (id, обработка события). Потом, если нажать на созданный див, он как-то активировался и при нажатии на ссылку "Добавить елемент" новый элемент вставлялся в этот "активированный", только что созданный див. Т.е. чтобы достигалась вложенность

Вот такая задачка, пытаюсь идти поступенчато, не спеша, но возникают трудости, у вас спрашиваю...

Заранее благодарен!

   
 
 автор: deman-b   (07.04.2008 в 16:03)   письмо автору
 
   для: FireTiger   (07.04.2008 в 12:50)
 

сохранить в файл??? на клиентской машине?? не кажется ли вам это наглостью?))))
можно передать на сервер и там сохранить.
>И еще, а как прописать параметры к новому создаваемому div'у ? Например, мне нужно к этому диву добавить обработку события onclick="func()" и прописать ID="id_element".

<html>  
<head>  
<title>Project</title>  
</head>  
<style> 
#list{width:100%; height:100%; border:solid 1px #999999;} 
div.pDiv{width:100%; height:10px; border:solid 1px #999999; margin:10px;}
</style> 
<body>  
<a href="javascript:Add()">Добавить</a> 
<div id="list">&nbsp; 
</div>  
</body>  
<script>  
var parent = document.getElementById('list');   
function Add(){   
//var parent = document.getElementById('list');   
var div = document.createElement('DIV');  
div.setAttribute("onclick","parent=this;");       
div.setAttribute("class","pDiv");       
div = parent.appendChild(div);   
div.innerHTML = 'Hello World!';  

</script>  
</html>

   
 
 автор: FireTiger   (07.04.2008 в 22:18)   письмо автору
 
   для: deman-b   (07.04.2008 в 16:03)
 

>>> "сохранить в файл??? на клиентской машине?? не кажется ли вам это наглостью?))))"
)))
Не, желательно на сервер как-то отослать получившися результат. Вот я добавлял эти дивы, а теперь новый сгенерированный html код нужно сохранить... Как?

   
 
 автор: deman-b   (07.04.2008 в 22:45)   письмо автору
 
   для: FireTiger   (07.04.2008 в 22:18)
 

вот это уже слоожнее..
заставить документ передать самого себя на сервер и причом не в URL закодировать а POSt`ом ))))))
это вам нужно использовать XmlHttpRequest или вроде того..
здаесь я вам уже не чем не помогу т.к. не шарю :-[
посоветуйтесь с гуру js.
ЗЫ: это очень сложно для моего понимания, но зачем может понадобится такая конструкция создания вложенных слоев и сохранение документа ??? ))

   
 
 автор: Lstasss   (08.04.2008 в 02:51)   письмо автору
 
   для: deman-b   (07.04.2008 в 22:45)
 

Можно попробовать что-то такое:
document.body.innerHTML - тут у вас будет всё между тегами <body> и </body>
А дальше можете хоть на сервер, хоть в куки, хоть alert() =)

   
 
 автор: deman-b   (08.04.2008 в 18:29)   письмо автору
 
   для: Lstasss   (08.04.2008 в 02:51)
 

> хоть в куки,
XD))))

   
 
 автор: FireTiger   (08.04.2008 в 18:44)   письмо автору
 
   для: deman-b   (08.04.2008 в 18:29)
 

Спасибо!

   
 
 автор: TON1K   (09.04.2008 в 13:37)   письмо автору
 
   для: FireTiger   (08.04.2008 в 18:44)
 

А вот такой вопрос - ( как у автора) - создать див(один) по клику внутри первого... а в созданном диве
долен быть текст с картинкой... и при клике по диву этому - чтоб он убирался( ну типа нажал - появился див, почитал, кликнул на него и он закрылся..кликнул на другую ссылку - создался другой див , почитал его, кликнул и он тоже закрылся...) типа того... что можно сотворить?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования