Проблема с добавлением строки в таблицу

Рейтинг: 0Ответов: 2Опубликовано: 25.02.2015

Доброе время суток, форумчане.

В html есть таблица с двумя столбиками, я написал js, для добавления строки в таблицу:

Js:

function func_table_without_forma()
{
    var table = document.getElementById('tabl_one_without_forma');
    var tr = document.createElement('tr');
    tr.innerHTML = '<td><input name="edit_in_1" type="text" size="40"></td>\n\
                    <td><input name="edit_in_2" type="text" size="40"></td>';
    var td = document.createElement('td');
    tr.appendChild(td);
    table.appendChild(tr);
};

Все работает...
Потом, я таблицу (в html) вставил в форму:

Js:

function func_table_with_forma()
{
    var table = document.forma7.tabl_one_with_forma;
    var tr = document.createElement('tr');
    tr.innerHTML = '<td><input name="edit_in_1" type="text" size="40"></td>\n\
                    <td><input name="edit_in_2" type="text" size="40"></td>';
    var td = document.createElement('td');
    tr.appendChild(td);
    table.appendChild(tr);
};

и где-то здесь происходит ошибка.

Где я допустил ошибку?
Спасибо за ответ...

P.S.
html:

<form name="forma7">
            <table id="tabl_one_with_forma" width="100%" border="1" cellpadding="4">
                <tbody>
                    <tr>
                        <td  width="20%">111</td>   <!--   height="59" -->
                        <td width="50%">22772</td>
                    </tr>
                </tbody>   
            </table>
            <br><br>
            <button><b>with</b>_forma</button> 
        </form>

Ответы

▲ 1Принят
function func_table_with_forma() {
//var table = document.forma7.tabl_one_with_forma;
var table = document.getElementById('tabl_one_with_forma');
var tr = document.createElement('tr');
tr.innerHTML = '<td><input name="edit_in_1" type="text" size="40"></td>\n\
                <td><input name="edit_in_2" type="text" size="40"></td>';
var td = document.createElement('td');
tr.appendChild(td);
table.appendChild(tr);
return false;  // что-бы не форма не отсылалась - возвращаем false
};

и в html:

button><b>with</b>_forma</button>
▲ 1

Было бы просто чудесно, приложи вы тут текст ошибки.

Этот код взбесился и повесил jsFiddle.

1) Зачем вставка ячеек через element.innerHTML, а затем создание пустой ячейки и её добавление?

2) У через свойства доступны name='', но не id='', поэтому форму-то он находит, а id внутри - нет. Тут-то всё и летит.

P. S. return false делать не нужно, используй event.preventDefault() [разница].