Вот твоя функция в рабочем виде (изменил переменные для быстрого тестирования в своем черновике):
function kv() {
var kv_a = document.getElementsByName('text1')[0].value ;
/*var kv_a = document.getElementsByName('form1')[0].children[0].value // не нужный Susanin-style (: */
var kv_b = kv_a*kv_a;
document.form1.text2.value = kv_b;
}
Хоть я и сам учусь, но мне кажется не стоит использовать поиск/фильтрацию элементов таким способом. (это, наверное, из разряда "слишком просто", значит где-то подстава) Для этого есть системные функции вроде: "getElementsByName" (и другие - для классов, id, по тегам) и что-то мне подсказывает, что это может считаться плохой практикой в JS.
(и у тебя ошибка во втором input в "type")