Суть: нажимаю кнопочку - появляются поля для ввода данных и кнопка - отменить. Нажимаю кнопку "отменить" - это всё должно скрыться. Но, увы, удаляется не все, два текстовых поля остаются, если ещё поклацать туда-сюда - каша выходит. Вот скрипт:
Element.prototype.remove = function() {
this.parentElement.removeChild(this);
};
NodeList.prototype.remove = HTMLCollection.prototype.remove = function() {
for(var i = 0, len = this.length; i < len; i++) {
if(this[i] && this[i].parentElement) {
this[i].parentElement.removeChild(this[i]);
};
};
};
Date.prototype.yyyymmdd = function() {
var yyyy = this.getFullYear().toString();
var mm = (this.getMonth()+1).toString(); // getMonth() is zero-based
var dd = this.getDate().toString();
return yyyy + '-' + (mm[1]?mm:"0"+mm[0]) + '-' + (dd[1]?dd:"0"+dd[0]);
};
var show_add_form = function () {
var form = document.getElementById("action_form");
var date = document.createElement("input");
date.type = "text";
date.id = "date";
d = new Date();
date.value = d.yyyymmdd();
form.appendChild(date);
var amount = document.createElement("input");
amount.type = "text";
amount.id = "amount";
amount.placeholder="money";
form.appendChild(amount);
var select = document.createElement("select");
select.id = "type";
select.placeholder="in/out";
form.appendChild(select);
var option = document.createElement("option");
option.text = "income";
select.appendChild(option);
var option = document.createElement("option");
option.text = "outcome";
select.appendChild(option);
var description = document.createElement("input");
description.type = "text";
description.id = "desc";
description.placeholder="description of money operation";
form.appendChild(description);
var cancel = document.createElement("input");
cancel.type = "button";
cancel.id = "cancel";
cancel.value = "cancel";
cancel.onclick = function() { hide_add_form(); };
form.appendChild(cancel);
};
var hide_add_form = function() {
var elements = document.getElementById("action_form").elements;
elements.remove();
};