Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.02.2014, 18:35
Новичок на форуме
Отправить личное сообщение для olegua Посмотреть профиль Найти все сообщения от olegua
 
Регистрация: 23.02.2014
Сообщений: 3

Клонирование объектов на javascript
адача следующая:

Есть div блок. В нем содержится некие данные. Например, несколько полей, чекбокс текст и т.д., а также в блоке есть 2 кнопки "+" и "-"

Пользователь ввел данные затем нажимает + появляется такой же блок, но пустой.

нашел вот что примерно мне нужно (только в новом блоке поля со значениями, а должны быть пустыми):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Демонстрация клонирования</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
</head>
<body>
<script>
function droptr(btn){
        if(document.getElementById) {
                tr = btn;
                while (tr.tagName != 'TR') tr = tr.parentNode;
                tr.parentNode.removeChild(tr);
                checkForLast();
        }
}
function addtr(btn){
        if(document.getElementById) {
                tr = btn;
                while (tr.tagName != 'TR') tr = tr.parentNode;
                var idSuffix = Math.round(Math.random()*1000);
                var newTr = tr.parentNode.insertBefore(tr.cloneNode(true),tr.nextSibling);
                thisChilds = newTr.getElementsByTagName('td');

                checkForLast();
        }
}
function checkForLast(){
        btns = document.getElementsByName('drop');
        for (i = 0; i < btns.length; i++){
                btns[i].disabled = (btns.length == 1) ? true : false;
        }
}
</script>

    <form action="" method="post">
<table>
<tr>
<td><input type="text" name="nameclone[]"></td>
<td>
<INPUT onclick=droptr(this); type=button  disabled=true value="-" name=drop> <INPUT onclick=addtr(this); type=button value="+">
</td>
</tr>

</table>

        <input type="submit" value="Отправить">
    </form>

</body>
</html>

В общем, нужно сделать так чтобы поля пустыми новые были и желательно избавиться от табличной верстки, т.е. сделать все на div, а не на tr.

Пробовал с нуля написать:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Демонстрация клонирования</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
</head>
<body>

    <form action="" method="post">

<div id="lib"><input  type="text" size="6" name="nameclone[]" value=""><br>
</div>
<div id="lib2"></div>
  <input type="button" value="Add" onClick="if(lb)lb.innerHTML+=text2add">
<script>
 var lb=document.getElementById('lib')
var text2add=lb.innerHTML
function cloneIt(){
        lb.innerHTML=cloneNode(text2add);
       // text2add=text2add.search(/([\w\W]*name=[^\d]+)(\d+)([\w\W]*)/gi)
      //  text2add=RegExp.$1+(1+parseInt(RegExp.$2))+RegExp.$3
       // lb.innerHTML+=text2add
        }
</script>
        <input type="submit" value="Отправить">
    </form>

</body>
</html>


Но в js не силен и скрипт не правильно работает, все поля пустые, даже те что заполнены были стают, да и кнопку только одну вывел.

Помогите плиз.
Ответить с цитированием
  #2 (permalink)  
Старый 23.02.2014, 19:23
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от olegua
Но в js не силен и скрипт не правильно работает, все поля пустые, даже те что заполнены были стают, да и кнопку только одну вывел.
Что-то я не вижу использовования в твоем коде кода из первого примера... Смотрим в книгу - видим фигу?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 23.02.2014, 20:01
Новичок на форуме
Отправить личное сообщение для olegua Посмотреть профиль Найти все сообщения от olegua
 
Регистрация: 23.02.2014
Сообщений: 3

Ну, так если бы понимал как работает все то пример бы содержал тот код. Я не знаю, как обращаться к объектам, вот и с нуля писал по другим примерам.
Ответить с цитированием
  #4 (permalink)  
Старый 23.02.2014, 20:43
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от olegua
писал по другим примерам
Пиши не по другим, а по этому примеру ))
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #5 (permalink)  
Старый 23.02.2014, 21:33
Новичок на форуме
Отправить личное сообщение для olegua Посмотреть профиль Найти все сообщения от olegua
 
Регистрация: 23.02.2014
Сообщений: 3

а хоть по этому можете помочь сделать очистку полей в клонированном блоке?
Ответить с цитированием
  #6 (permalink)  
Старый 24.02.2014, 05:59
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от olegua
а хоть по этому можете помочь сделать очистку полей в клонированном блоке?
А ты создавай клон сразу после загрузки страницы, когда поля еще пустые. И потом добавляй клон клона когда нужно.
Сообщение от olegua
charset=ISO-8859-1
К проблеме не относится, но че за древняя кодировка? Используй UTF-8.
А доктайп юзай <!DOCTYPE html>, и атрибут xmlns не нужен.
Иначе если уж пишешь в XHTML, то теги и атрибуты должны быть в нижнем регистре.
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
иерархия объектов javascript и prototype skrudjmakdak Events/DOM/Window 6 05.07.2013 19:57
Клонирование объектов. Не наследуется возможность перетаскивание !! SEA_28 jQuery 0 13.09.2012 11:56
Профилирование JavaScript объектов в памяти prike Общие вопросы Javascript 4 05.08.2012 15:09
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34