как добавить новые строки к таблице

 
0
 
JavaScript
ava
guest | 17.11.2004, 18:28
Есть таблица. В ней 4 столбика и 3 строки.
В первой строке елементы аналогичны второй.
В третей строке расположена кнопка.


Как сделать что б при нажатии на кнопку появилась строка в таблице (4-ая строка) с таки ми же елементами как в первой строке ещё раз нажали и ещё одна появилась и т.д.
Но при этом добавленые строки должны размещаться между кнопкой и второй строкой.



Kommentare (10)
ava
Alx | 17.11.2004, 19:41 #

<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<script language="JavaScript">
function addElement()
{document.getElementById("tbl1").setAttribute("innerHTML",document.getElementById("tbl1").getAttribute("innerHTML") + document.getElementById("example").getAttribute("outerHTML"));
}
</script>
</head>
<body>
<table border="1" width="250">
<tr>
<td id="tbl1">
<table width="100%" border=1 id="example">
<tr>
<td>1
</td>
<td>2
</td>
<td>3
</td>
<td>4
</td>
</tr>
</table>

<table width="100%" border=1>
<tr>
<td>1
</td>
<td>2
</td>
<td>3
</td>
<td>4
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="4" align="center">
<input type="button" onclick="addElement()" value="добавить">
</td>
</tr>
</table>
</body>
</html>


Sardar
зацени, как я извращался для Мозиллы! а всё без толку! надо было писать так:

function addElement()
{tbl1.innerHTML += example.outerHTML;
}

неблагодарная Мозикалка :hmmm

кста, обнаружился странный глюк. я вначале хотел не создавать вложенных таблиц и сделать род. элемент tbl1 тегом <TBODY> но не хочет. А так - всё ок! :)

Цитата (Guest @ 17.11.2004, 19:11)
Нужно name инпутов менять

надо было сразу говорить :hmmm объясняй всё задачу, какие там инпуты и кидай изначальный код...
ava
Sardar | 17.11.2004, 21:21 #
ALEXANDRO вижу что стараешся, скачай себе спецификацию W3C HTML DOM1, там все интерфейсы HTML элементов. Переписываю код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<script language="JavaScript">
function addElementClone(){
var tbl=document.getElementById("example"), tb;
//в ИЕ мы обязанны создать TBODY, иначе ничего не пашет, в других браузерах необязательно
(tb=document.createElement("TBODY")).appendChild(tbl.rows[0].cloneNode(true)); //клонируем ноду :)
tbl.appendChild(tb);
// можно еще поизвращатся с tbl.rows, tbl.insertRow, row.insertCell и т.д.
}
</script >
</head>
<body>
<table border="1" width="250" >
<tr><td>

<table width="100%" border=1 id="example">
<tr><td>1</td><td>2</td><td>3</td><td>4</td></tr>
<tr><td>1</td><td>2</td><td>3</td><td>4</td></tr>
<tr><td>1</td><td>2</td><td>3</td><td>4</td></tr>
</table>

</td></tr>
<tr><td colspan="4" align="center">
<input type="button" onclick="addElementClone()" value="äîáàâèòü">
</td></tr>
</table>
</body>
</html>



M
0
Лажа какая то, код на слова script удаляет все ниже, при редактировании существует, видать подсветка глючит...
ava
sergejzr | 18.11.2004, 18:15 #
Цитата (Sardar @ 17.11.2004, 20:21)

M
0
Лажа какая то, код на слова script удаляет все ниже, при редактировании существует, видать подсветка глючит...




Да, подглюкивает блин. Это потому, что код на самом деле html, а не javascript. (Я сейчас в твоём сообщении исправил) Но конечно всё равно не должно было бы по идее глючить. К сожалению пока времени нет занятся отловом жуков, но я их собираю smile
ava
Sardar | 20.11.2004, 16:15 #
Проскочила по форуму поправка:
Цитата
А как сделать так чтоб добавленные поля были пустыми и disable

MAN топики размножать не стоит.

Чуть чуть логики и желания подумать ;-)
function addElementClone(){
var tbl=document.getElementById("example"), tb;
//в ИЕ мы обязанны создать TBODY, иначе ничего не пашет, в других браузерах необязательно
(tb=document.createElement("TBODY")).appendChild(tbl.rows[0].cloneNode(true));
tbl.appendChild(tb);
for(var i=0, inps=tb.getElementsByTagName("INPUT"); i<inps.length; i++) {
inps[i].value="";
inps[i].disabled=true;
}
}

HTML
<table border="1" width="250" >
<tr><td>
<table width="100%" border=1 id="example">
<tr><td><input type="checkbox"></td><td>2</td><td>3</td><td>4</td></tr>
<tr><td><input type="checkbox"></td><td>2</td><td>3</td><td>4</td></tr>
<tr><td><input type="checkbox"></td><td>2</td><td>3</td><td>4</td></tr>
</table>
</td></tr>
<tr><td colspan="4" align="center">
<input type="button" onclick="addElementClone()" value="dovit">
</td></tr>
</table>
ava
guest | 20.11.2004, 16:53 #
А если disabled или enabled заданы явно тогда яваскрипт это игнорирует и неменяет на disabled или enabled. Как зделать так что б менял
ava
guest | 20.11.2004, 17:01 #

<html>
<head>
<title></title>
<script>
function addRow() {
tObj = document.getElementById("data")
tRow = tObj.insertRow(2)
for (i = 0; i < tObj.rows[0].cells.length; i++) {
tCell = tRow.insertCell(i)
tCell.innerHTML = tObj.rows[0].cells[i].innerHTML
}
}
</script>
</head>
<body>
<table id=data>
<tr><td>1</td><td>2</td><td>3</td></tr>
<tr><td>21</td><td>22</td><td>23</td></tr>
<tr><td>31</td><td>32</td><td><button onclick="addRow()">add</button></td></tr>
</table>
</body>
</html>
ava
Sardar | 20.11.2004, 17:55 #
Цитата (Guest @ 20.11.2004, 15:53)
А если disabled или enabled заданы явно тогда яваскрипт это игнорирует и неменяет на disabled или enabled. Как зделать так что б менял

Ты определись с задачей, времени нет на крохи отвечать, а затем переделывать.

Скрипт вырубает(disabled=true) инпуты во всех новых строках. Кстати ты сам хоть чуть-чуть писать на JS можешь, а то такие просты вещи спрашваешь...
ava
guest | 20.11.2004, 18:24 #
Я просто около пяти дней им занимаюсь. Просто я думал что всё это будет учитываться.
Помогите пожалуйста. У меня скрипт невырубает

<input name="otpusk2from1" type="text" disabled clа....

тут disabled указан явно и поєтому яваскрипт неделает его enabled

я пробовал

for(var i=0, inps=tb.getElementsByTagName("INPUT"); i<inps.length; i++) {
inps[i].value="";
inps[i].enabled=true;

так не выходит
ava
Sardar | 20.11.2004, 19:55 #
Ну хотя бы думать пытаешся, и натом хорошо....
for(var i=0, inps=tb.getElementsByTagName("INPUT"); i<inps.length; i++) {
inps[i].disabled=inps[i].disabled? false: true;
}

А синтаксис знать надо или говорить сразу что не знаешь, а то не понятно как подробно ответить ;-)
ava
GoodBoy | 22.11.2004, 12:58 #
Цитата (ALEXANDRO @ 17.11.2004, 21:38)
эх.... ну ладно, ща поищу эту спецификацию...

вот здесь: http://forum.vingrad.ru/index.php?showforum=64 посмотри тему "Спецификации и справочники"! Думаю ты найдёшь ответы на многие вопросы...

smile))))))
Registrieren Sie sich oder melden Sie sich an, um schreiben zu können.
Unternehmen des Tages
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Mitwirkende
  guest   Sardar   GoodBoy   Alx   sergejzr
advanced
Absenden