Javascript.RU

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

как удалить form'у
Привет!
Есть код. Добавление формы на старницу с двумя
text
по нажатию на кнопку.

function CreateFormElement(){
   
  var createtime = new Date().getTime();   

  var Form = document.getElementById('fms')
  var Inner = document.createElement('input');
  Inner.type = 'text';
  Inner.value = '';
  Inner.name = 'size___' + createtime;
  Form.appendChild(Inner);
 
  var Form2 = document.getElementById('fms')
  var Inner2 = document.createElement('input');
  Inner2.type = 'text';
  Inner2.value = '';
  Inner2.name = 'price___' + createtime;
  Form2.appendChild(Inner2);
 
 
  var Br = document.createElement('br');
  Form.appendChild(Br);
}

<input type="button" value="добавить поля формы" onClick="CreateFormElement()">


Как удалить одну из форм, если она стала не нужна?!
Ответить с цитированием
  #2 (permalink)  
Старый 10.02.2014, 08:24
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Belai
var Form = document.getElementById('fms')
...
var Form2 = document.getElementById('fms')
Ну ну, а че две всего? Даешь еще кучку:
var Form3 = document.getElementById('fms')
var Form4 = document.getElementById('fms')
var Form5 = document.getElementById('fms')

Веселуха же!!!
Сообщение от Belai
Как удалить одну из форм, если она стала не нужна?!
Форму или поле из формы?
form.removeChild(input); // где form - ссылка на элемент формы, input - ссылка на удаляемое поле.

Сообщение от Belai
Form, Inner, CreateFormElement
Имена переменных с большой буквы - очень заментый признак некомпетентности. Ровные пацаны знают, что в JS с большой буквы именуются только конструкторы.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 10.02.2014, 08:39
Аспирант
Отправить личное сообщение для Belai Посмотреть профиль Найти все сообщения от Belai
 
Регистрация: 29.01.2014
Сообщений: 35

Вы очень жестоко меня троллите! Я расстроен! =D

Удалить форму. Нажимаем на кнопку добавить, скажем 3 раза, появляется 3 формы с 2 полями. Мне захотелось удалить 2-ую форму. Как это сделать!?

Я за код прошу прощения, ибо вообще не шарю в JS. И тут я именно поэтому.

Ну а вообще, спасибо. Хоть и троллите, но помогаете. =)
Ответить с цитированием
  #4 (permalink)  
Старый 10.02.2014, 08:53
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Сообщение от Belai
Вы очень жестоко меня троллите!
Он тебе объясняет, что ИД должен быть уникальным на странице.

Сообщение от Belai
Мне захотелось удалить 2-ую форму. Как это сделать!?
Получить ссылку на нее и воспользоваться методом removeChild()...
http://shpargalkablog.ru/2013/08/app...avascript.html
Ответить с цитированием
  #5 (permalink)  
Старый 10.02.2014, 09:07
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от ksa
Он тебе объясняет, что ИД должен быть уникальным на странице.
Да форма вроде одна, просто переменных зачем-то две. Ну я и предложил увеличить их количество. А че, жрать не просять же)

Сообщение от Belai
Вы очень жестоко меня троллите!
Да ну прям.
Сообщение от Belai
Я расстроен! =D
С таким то кодом еще бы не расстроиться

<!DOCTYPE html>
<form id="fms"></form>
<script>
var fields = [];
function addField(){
    var form = document.getElementById('fms');
    var field = document.createElement('div');
    var inputs = ['size', 'price'];
    for (var i = 0; i < inputs.length; i++) {
        var input = document.createElement('input');
        input.name = inputs[i] + '[]';
        field.appendChild(input);
    }
    form.appendChild(field); // добавляем на страницу
    fields.push(field); // добавляем в наш массивчик
}
function removeField(index) {
    var field = fields[index];
    if (!field)
        return alert('Нет формы с индексом ' + index);
    field.parentNode.removeChild(field); // удаляем из страницы
    fields.splice(index, 1); // удаляем из массивчика
}
</script>
<input type="button" value="добавить поля формы" onclick="addField()">
<input type="button" value="удалить второе поле" onclick="removeField(1)">
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #6 (permalink)  
Старый 10.02.2014, 09:29
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Сообщение от danik.js
Да форма вроде одна
По ИДешнику он точно будет брать только одну.
Ответить с цитированием
  #7 (permalink)  
Старый 10.02.2014, 11:41
Аспирант
Отправить личное сообщение для Belai Посмотреть профиль Найти все сообщения от Belai
 
Регистрация: 29.01.2014
Сообщений: 35

Сообщение от danik.js Посмотреть сообщение
Да форма вроде одна, просто переменных зачем-то две. Ну я и предложил увеличить их количество. А че, жрать не просять же)


Да ну прям.

С таким то кодом еще бы не расстроиться

<!DOCTYPE html>
<form id="fms"></form>
<script>
var fields = [];
function addField(){
    var form = document.getElementById('fms');
    var field = document.createElement('div');
    var inputs = ['size', 'price'];
    for (var i = 0; i < inputs.length; i++) {
        var input = document.createElement('input');
        input.name = inputs[i] + '[]';
        field.appendChild(input);
    }
    form.appendChild(field); // добавляем на страницу
    fields.push(field); // добавляем в наш массивчик
}
function removeField(index) {
    var field = fields[index];
    if (!field)
        return alert('Нет формы с индексом ' + index);
    field.parentNode.removeChild(field); // удаляем из страницы
    fields.splice(index, 1); // удаляем из массивчика
}
</script>
<input type="button" value="добавить поля формы" onclick="addField()">
<input type="button" value="удалить второе поле" onclick="removeField(1)">
А если надо не 2 а 4 или 5 или 19 ? =D
Ответить с цитированием
  #8 (permalink)  
Старый 10.02.2014, 11:42
Аспирант
Отправить личное сообщение для Belai Посмотреть профиль Найти все сообщения от Belai
 
Регистрация: 29.01.2014
Сообщений: 35

Сообщение от ksa Посмотреть сообщение
По ИДешнику он точно будет брать только одну.
Я бы и рад по id взять... только как )))
Ответить с цитированием
  #9 (permalink)  
Старый 10.02.2014, 11:42
Аспирант
Отправить личное сообщение для Belai Посмотреть профиль Найти все сообщения от Belai
 
Регистрация: 29.01.2014
Сообщений: 35

Спасибо за ответы! =)
Ответить с цитированием
  #10 (permalink)  
Старый 10.02.2014, 11:43
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Сообщение от Belai
А если надо не 2 а 4 или 5 или 19 ?
У тебя вообще одна форма...
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вы относитесь к наркоманам? Maxmaxmaximus7 Оффтопик 7 05.02.2014 13:29
Как удалить коммит github Maxmaxmaximus6 Оффтопик 59 01.01.2014 19:42
как удалить элемент? czp Общие вопросы Javascript 2 02.06.2012 19:35
КАК удалить []-символы из строки?! Brook Events/DOM/Window 4 25.04.2012 16:38
Как удалить таблицу созданную в JS? konstantinopol Общие вопросы Javascript 9 10.09.2011 10:55