Здравствуйте.
У меня такая задача. Есть кнопка "добавить", по нажатию на которую появляется текстовое поле. В это текстовое поле я ввожу email, проверяю валидацию. Затем, я снова нажимаю на кнопку "добавить" введенный email преобразуется в label и рядом кнопка удалить, а ниже появляется снова текстовое поле. Я все это написала, но у меня не работает кнопка "удалить".
Пробовала стандартные варианты удаления элементов, ничего не работает.
Привожу полученный код:
<div></br><input id="email" type="text" name="email" onkeyup="isEmail()" style="display: none; width: 300px;" /></div>
<script>
function isEmail() {
var str = document.getElementById("email").value;
var re = /^[^\s()<>@,;:\/]+@\w[\w\.-]+\.[a-z]{2,}$/i;
if (re.test(str)) //status.innerHTML = "Адрес правильный";
{
document.getElementById("email").style.borderColor = "lightgray";
document.getElementById("email").style.borderWidth = "1px";
}
//else status.innerHTML = "Адрес неверный";
else {
document.getElementById("email").style.borderColor = "red";
document.getElementById("email").style.borderWidth = "1px";
}
if (isEmpty(str)) status.innerHTML = "Поле пустое";
}
function isEmpty(str) {
return (str == null) || (str.length == 0);
}
</script>
<button type="button" onclick="visibility()" class="btnPlus"></button>
<button class="btnRemove" onclick="btnDel()" type="button">
</button>
<div id="dl"></div>
<script>
var count = 0;
function visibility() {
if (document.getElementById("email").style.display == "none") {
document.getElementById("email").value = "";
document.getElementById("email").style.display = "block";
}
else {
var str = document.getElementById("email").value;
var status = document.getElementById("status");
var re = /^[^\s()<>@,;:\/]+@\w[\w\.-]+\.[a-z]{2,}$/i;
if (re.test(str)) {
count++;
var div = document.getElementById('d');
var p = document.createElement('p');
p.setAttribute('id', 'pId' + count);
p.innerHTML = "</br></br><p id='lbl" + count + "'>" + email.value + "</p>";
div.appendChild(p);
var del = document.getElementById('dl');
var pDel = document.createElement('p');
pDel.innerHTML = "</br><button type='button' class='btnRemove' id='dl" + count + "'/>";
del.appendChild(pDel);
}
document.getElementById("email").value = "";
document.getElementById("email").style.borderColor = "lightgray";
}
}
</script>