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

HTML+CSS+JavaScript

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: добавление елемента

Сообщения:  [1-10]   [11-11] 

 
 автор: Drago   (28.11.2005 в 01:16)   письмо автору
 
   для: Crux   (27.11.2005 в 19:55)
 

То, что нужно. Большое спасибо. :)

   
 
 автор: Crux   (27.11.2005 в 19:55)   письмо автору
 
   для: Drago   (26.11.2005 в 01:21)
 


<html> 
<head> 
  <title></title> 
<script language="JavaScript" type="text/javascript"> 
<!-- 
var num=0
function dobav() 
    { 
    var teg=document.getElementById("p1") 
        var elm=document.createElement("span") 
        elm.id="id_"+num
        var newElem=document.createElement("input") 
        newElem.type="text" 
        newElem.name="text[]" 
        newElem.size=75 
        newElem.maxlength=500 
        elm.appendChild(newElem) 
        
        var newElem=document.createElement("a")
        newElem.href="#"
        
        newElem.onclick=function()
            {
            elemId=this.parentNode.attributes.id.value
            var elemDel = document.getElementById(elemId) 
            elemDel.parentNode.removeChild(elemDel)
            }
            
        var txt=document.createTextNode("delete")
        newElem.appendChild(txt)
        
        elm.appendChild(newElem)
        
        var newElem=document.createElement("br") 
        elm.appendChild(newElem)
        
        teg.appendChild(elm)
        
        num++         
     } 
//--> 
</script> 
  </head> 

<body> 
<a href="#"  name="dob" onclick="dobav()">add</a><br> 
<form name=forma1> 
<span id=p1></span> 
</form> 
</body> 
</html> 

   
 
 автор: Drago   (26.11.2005 в 01:21)   письмо автору
 
   для: Crux   (25.11.2005 в 18:16)
 

Спасибо.
А как переделать вот этот код, чтобы возле каждого поля, появилась ссылка на удаление конкретно этого поля? И не оставалось пустого места, после удаления.

<html> 
<head> 
  <title></title> 
<script language="JavaScript" type="text/javascript"> 
<!-- 
function dobav() 
    { 
    var teg=document.getElementById("p1") 
    
        var newElem=document.createElement("input") 
        newElem.type="text"
        newElem.name="text[]" 
        newElem.id="pole"
        newElem.size=75
        newElem.maxlength=500
        teg.appendChild(newElem) 
        
        var newElem=document.createElement("br") 
        teg.appendChild(newElem) 
        
     } 
function removeElement(elemId) 

var elem = document.getElementById(elemId) 
elem.parentNode.removeChild(elem) 
}
//--> 
</script> 
  </head> 

<body> 
<a href="#"  name="dob1" onclick="removeElement('pole')">remove</a><br>
<a href="#"  name="dob" onclick="dobav()">add</a><br>
<form name=forma1>
<span id=p1></span> 
</form>
</body> 
</html>

   
 
 автор: Crux   (25.11.2005 в 18:16)   письмо автору
 
   для: Drago   (24.11.2005 в 23:36)
 

при удалении узла используется метод removeChild() не удаляемого узла, а его родительского узла.

//elemId - это id того узла (элемета), который надо удалить
function removeElement(elemId)
{
var elem = document.getElementById(elemId)
elem.parentNode.removeChild(elem)
}


PS данная функция взята из книги, самому пользовться не приходилось

   
 
 автор: Crux   (25.11.2005 в 18:07)   письмо автору
 
   для: Drago   (24.11.2005 в 23:36)
 

добавляем

<html> 
<head> 
  <title></title> 
<script language="JavaScript" type="text/javascript"> 
<!-- 
var vuvod=""; 
function dobav() 
    { 
    forma1.dob.value=forma1.dob.value; 
    var teg=document.getElementById("p1")
    for (i=0;i<forma1.dob.value;i++) 
        {
        var newElem=document.createElement("input")
        newElem.type="text"
        teg.appendChild(newElem)
        var newElem=document.createElement("br")
        teg.appendChild(newElem)
        }
     } 
//--> 
</script> 
  </head> 

<body> 
<form name=forma1> 
<input type="text" name=dob><br> 
<input type=button name=but1 value=Send onclick="dobav()"> <br>
<span id=p1></span> 
</form> 
</body> 
</html>

   
 
 автор: Drago   (24.11.2005 в 23:36)   письмо автору
 
   для: Кирилл   (18.11.2005 в 19:39)
 

Такой же вопрос. Как в этом коде сделать так, чтобы при добавлении нового поля, введенный текст в существующие поля не стирался? Пробовал поставить return false; после вызова функции, но не помогает.

И еще вопрос сразу, как удалить поле?

   
 
 автор: Кирилл   (18.11.2005 в 19:39)   письмо автору
 
   для: Crux   (18.11.2005 в 17:54)
 

А как можно зделать чтоб после нажатия на кнопку после неё дописывались поля в том количестве в котором они введены, а то выходит сечас при первом вводе появляется n количество полей, а при втором все данные перезаписываются тоесть всё что было введено первый раз удаляется.

   
 
 автор: Crux   (18.11.2005 в 17:54)   письмо автору
 
   для: Кирилл   (17.11.2005 в 20:31)
 

например использовать тэг span

   
 
 автор: Кирилл   (17.11.2005 в 20:31)   письмо автору
 
   для: Crux   (17.11.2005 в 19:44)
 

А каким образом можно избавится от тега <p>. Мне надо чтобы после кнопки сразу выводились текстовые поля.

   
 
 автор: Crux   (17.11.2005 в 19:44)   письмо автору
 
   для: Кирилл   (17.11.2005 в 19:00)
 

всместо innerText надо использовать innerHTML

   

Сообщения:  [1-10]   [11-11] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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