Вообще, злоупотреблять созданием элементов в js не надо. Данные должны быть отделены от кода, это во-первых, во-вторых, на чистом js создание элементов весьма геморно, как ты мог заметить - то, что в hmtl описываются одной строкой, в js создается тремя и выше.
Есть три варианта по упрощению.
Первый - использовать jQuery. Он упрощает создание и работу с элементами:
$("<input type='button' id='cancel' value='cancel'>").bind("click", hide_action_form).appendTo(form);
//Либо
$("<input>", {
type: button,
id: cancel,
value: cancel
}).click(hide_action_form).appendTo(form); //click - это то же, что и bind("click"), повесить обработчик
//Либо
$("<input type='text'>").val("submit").attr("id", "submit").click(hide_action_form).appendTo(form);
Второй - описывать все элементы прямо в html и скрывать их ровно до тех пор, пока они не понадобятся (style="display: none;").
Третий - это использовать
шаблоны.