Это связано с тем, что удаляя checkbox`ы, вы неявно изменяете «массив» inputs, уменьшая его длину. При попытке доступа к элементу по неверному индексу происходит ошибка Javascript и форма сабмитится, как если бы Javascript вообще был отключен. Решение — например, использовать не «живой» массив, возвращаемый методом getElementsByTagName, а обычный массив со ссылками на все input`ы.
function deleteRows(tableId) {
var table = document.getElementById(tableId);
var inputs0 = table.getElementsByTagName("input");
var i = inputs0.length;
var inputs = new Array();
while (i--) inputs.push(inputs0[i]);
i = inputs.length;
while (i--) {
var input = inputs[i];
if (input.getAttribute("type") == "checkbox" && input.checked == true) {
var tr = input.parentNode.parentNode;
table.deleteRow(tr.rowIndex);
}
}
}
Либо прямо в цикле вызывайте метод getElementsByTagName.