Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.11.2016, 20:03
Новичок на форуме
Отправить личное сообщение для NellDenZ Посмотреть профиль Найти все сообщения от NellDenZ
 
Регистрация: 09.03.2016
Сообщений: 9

Добавление и удаление блоков <li>
Здравствуйте. Есть 3 input'a и кнопки добавление и удаления инпутов. Как сделать так чтобы при клике на кнопку "Добавить" добавлялся еще один инпут а при нажатие на кнопку "Удалить" удалялся последний инпут. Если инпутов 3 то больше не удаляется. Максимум можно добавить 15 инпутов.
P.S. Как можно добавлять инпут вместе с автоматическим значением name=""?
Например:
<input type="text" name="input_1">
<input type="text" name="input_2">
<input type="text" name="input_3">

Код:
Ссылка на plnkr.co - http://plnkr.co/edit/zTQkPJaMvAM07a7g28it?p=preview

<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
</head>
<body>
  <ol>
    <li><input type="text"></li>
    <li><input type="text"></li>
    <li><input type="text"></li>
  </ol>
  <div>
    <a href="">Добавить</a>
  </div>
  <div>
    <a href="">Удалить</a>
  </div>
</body>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 23.11.2016, 22:32
Аватар для Coriolan161
Профессор
Отправить личное сообщение для Coriolan161 Посмотреть профиль Найти все сообщения от Coriolan161
 
Регистрация: 21.11.2015
Сообщений: 440

NellDenZ,
<ol id="list">
  <li><input type="text"></li>
  <li><input type="text"></li>
  <li><input type="text"></li>
</ol>
<button id="add" type="button">Добавить</button>
<button id="remove" type="button">Удалить</button>

var $list = document.getElementById('list');
    var $addBtn = document.getElementById('add');
    var $removeBtn = document.getElementById('remove');
    
    $addBtn.addEventListener('click', function (event) {
      if ($list.children.length < 15) {
        var $li = document.createElement('li');
        var $input = document.createElement('input');
        
        $input.type = "text";
        $input.name = "лентяй";
        
        $li.appendChild($input);
        $list.appendChild($li);
      };
    });
    
    $removeBtn.addEventListener('click', function (event) {
      $list.lastElementChild && $list.removeChild($list.lastElementChild);
    });
Ответить с цитированием
  #3 (permalink)  
Старый 23.11.2016, 22:50
Новичок на форуме
Отправить личное сообщение для NellDenZ Посмотреть профиль Найти все сообщения от NellDenZ
 
Регистрация: 09.03.2016
Сообщений: 9

Спасибо за помощь, вот только что то не работает. Проверял на plnkr.co - ссылка на проект http://plnkr.co/edit/zTQkPJaMvAM07a7g28it?p=preview
Ответить с цитированием
  #4 (permalink)  
Старый 23.11.2016, 23:26
Аватар для Coriolan161
Профессор
Отправить личное сообщение для Coriolan161 Посмотреть профиль Найти все сообщения от Coriolan161
 
Регистрация: 21.11.2015
Сообщений: 440

NellDenZ,
Проверяльщик ты скрипт перед закрытием боди положи
Ответить с цитированием
  #5 (permalink)  
Старый 24.11.2016, 11:33
Профессор
Отправить личное сообщение для Царь Леонид Посмотреть профиль Найти все сообщения от Царь Леонид
 
Регистрация: 22.08.2013
Сообщений: 217

Еще вариантец. Но тут игра "найди баг"))
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
</head>
<body>
  <ol>
    <li><input type="text"></li>
    <li><input type="text"></li>
    <li><input type="text"></li>
  </ol>
  <div>
    <a href="" onclick='event.preventDefault();addInput()'>Добавить</a>
  </div>
  <div>
    <a href="" onClick='event.preventDefault();removeInput()'>Удалить</a>
  </div>
<script>
var list = document.getElementsByTagName('ol')[0];
function addInput() {
  list.children.length <=14 &&
  list.append(list.children[0].cloneNode(true));
}
function removeInput(){
  list.children.length >= 4 &&
  list.children[list.children.length-1].remove();
}
</script>
</body>
</html>

Последний раз редактировалось Царь Леонид, 24.11.2016 в 11:38.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ext.ux.ajax.SimManager - добавление и удаление записей khusamov ExtJS 6 09.06.2015 13:15
Удаление глюков при появлении и исчезании блоков Сершей jQuery 5 25.08.2013 03:20
Добавление непересекаемых блоков на страницу m2broth Общие вопросы Javascript 8 03.02.2013 15:11
Добавление блоков из шаблона с уникальными именами wcb-falcon Общие вопросы Javascript 2 10.04.2012 18:14
Добавление и удаление полей в форму anoth3r Events/DOM/Window 1 11.09.2009 15:10