Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Удаление элементов с помощью removeChild()
 
 автор: tyoma_first   (11.01.2009 в 02:45)   письмо автору
 
 

Добавляю несколько div-ов на страницу (при помощи appendChild()). Но так же есть необходимость иметь возможность удалить часть этих div-ов. Использую следущий код:
function HideError(divId)
{
    elem = document.getElementById(divId);
    document.body.removeChild(elem);
}
где я передаю ID дива, который нужно удалить. Но у меня почему-то удаляются все дивы :( Не могли бы подсказать в чем проблема? Вот весь код:

<html>
<script>
function myFunc()
{

ShowError('field1','sample text');
ShowError('field2','error2');

}

function HideError(divId)
{
    elem = document.getElementById(divId);
    document.body.removeChild(elem);
}

function ShowError(field, message)
{
    var brAsMSIE = (navigator.userAgent.indexOf ('MSIE') > 0) ? 1 : 0;
    var elem = (brAsMSIE) ? (document.createElement ('<div name="myName">')) : (document.createElement ('div'));

    with (elem)
       {
           id = field + 'error_message';
       }

    parentField = document.getElementsByName(field);

    with (elem.style)
       {
           border = '1px dotted #c0c0c0';
           background = '#f0f0f0';
           opacity = '0.6';

           position = 'absolute';
           top = parentField[0].offsetTop + 13;
           left = parentField[0].offsetLeft + 25;
       }
    elem.innerHTML = message + '&nbsp;&nbsp;<a href="" onclick = "HideError(field+&quot;error_message&quot;)">[x]</a>';
    document.body.appendChild(elem);
}
</script>
<body>
<form>
<input type="text" name="field1"><br/>
<input type="text" name="field2"><br/>
<input type="text" name="field3"><br/>

<input type="button" value="Show Errors" onclick="myFunc()">

</body>
</html>

  Ответить  
 
 автор: mikha   (11.01.2009 в 05:38)   письмо автору
 
   для: tyoma_first   (11.01.2009 в 02:45)
 

Вот, написал только что для себя, что бы понять как эта кухня работает, надеюсь вам пригодится.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title></title>
</head>
<body>
<script type="text/javascript">
var col = 0;
function Add(){
    col++;
    var div_id = 'div_id_' + col;
    var parent = document.getElementById('list');
    var child = document.createElement('DIV');
    child.innerHTML = 'id="' + div_id + '" <a href="#" onclick="delitDiv(\'' + div_id + '\');">Удалить DIV ' + div_id + '</a>';
    with(child.style){
        border = '1px dotted #c0c0c0';
        background = '#f0f0f0';
        margin = '6px 0px 0px 0px';
    }
    child.setAttribute('id', div_id);
    parent.appendChild(child);
}
function delitDiv(div_id){
    var del = document.getElementById(div_id);
    var parent = document.getElementById('list');
    parent.removeChild(del);
}
</script>
<a href="#" onclick="Add();">создать новый DIV</a><br />
<div id="list"></div>
</body>
</html>

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования