Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Как добавить поля к форме?


Автор: BIG BROTHER 26.3.2005, 23:09
Прошу не бить - просмотрел много подобных тем, но у меня так ничего не вышло

В общем нужно по нажатию на ссылку в дочернем окне, добавить строку в слой в родительском окне....
smile

Автор: Sardar 26.3.2005, 23:27
Цитата(BIG @ 26.3.2005, 22:09)
Прошу не бить - просмотрел много подобных тем, но у меня так ничего не вышло

Видать плохо искал. А вообще принято в таких случаях давать свой код smile

window.opener.document.getElementById(идентификатор).innerHTML="твой тект";
При условии что в родительском окне существует текстовый элемент с заданным идентификатором. Ну естественно родителькое окно и дочернее должны быть с одного домена, это частая ошибка "молодых хакеров" smile

Автор: BIG BROTHER 26.3.2005, 23:39
Спасибо огромное! smile
я делал примерно так:

Код

var str = opener.getElementByID("идентификатор");
str.innerHTML="текст";


И еще один вопросик:
есть текст, допустим, между комментариями
<!--start text--> текст <!--end text-->
можно его удалить?

не из дочернего, а уже из этого-же окна

то есть я хочу иметь возможность удалить текст и вставить его
(в качестве текста планируется текст и hidden-поле для формы)

Автор: Sardar 27.3.2005, 01:24
Чувствую большим извратом ты занимаешся... лучше обьясни задачу, конечный результат.

По вопросу:
  • большой изврат - достать содержимое всего документа(body.innerHTML), найти то что хочешь, вырезать.
  • обернуть текст в какой нибудь div, достать его по ID, достать innerHTML

Автор: BIG BROTHER 27.3.2005, 09:59
Задача такова:
Есть форма, хочу добавлять и удалять hidden-поля без перезагрузки страницы

Автор: Sardar 27.3.2005, 13:28
Задача простейшая, используем DOM:
Код
<script type="text/javascript">
<!--
function addInput(type, name, value) {
  var o=document.getElementById('test');
  var i=document.createElement('INPUT');
  i.type=type;
  i.name=name;
  i.value=value? value:  '';
  o.appendChild(i);
}
//-->
</script>


<hr />
<form id="test">
</form>
<hr />
<button onclick="addInput('text', 'mytext');">Добавить текстовое поле</button>
<button onclick="addInput('hidden', 'myhidden', 'myvalue');">Добавить скрытое поле</button>

Как видишь вызываем функцию addInput с аргуметами: тип поля, имя и опциональное значение.

Автор: BIG BROTHER 27.3.2005, 13:36
а удалить его можно?

Автор: Sardar 28.3.2005, 00:41
Да, метод removeChild(element) у предка. Учи W3C DOM, переводы в закреплённом топике "Хорошая on-line документация".

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)