Add/Remove Email
Здравствуйте.
У меня такая задача. Есть кнопка "добавить", по нажатию на которую появляется текстовое поле. В это текстовое поле я ввожу 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> |
Часовой пояс GMT +3, время: 01:53. |