Javascript <SELECT>, add() и new Option

Valentin

Новичок
Javascript <SELECT>, add() и new Option

Вот пример скрипта, который из дочернего окна должен выполнить операцию в родительском окне, а именно добавить новый элемент <option> в список <select> на первое место '0'. Форма называется completecall, где происходит операция добавления...

Код:
<script>
with (window.opener.document.completecall)
{
  newOption = new Option('<?=$name?>','<?=mysql_insert_id()?>');
  persons_id.add(newOption, 0);
}
</script>
Но операция не выполняется, IE выдает ошибку: типа некорректный аргумент в add()... хотя всё корректно.

persons_id.remove(0) - работает. alert(newOption.text), alert(newOption.value) - работает... Может тут нужно специфический код добавить???

Помогите.
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Добавляющий скрипт должен быть в том же окне, что и <select>. При этом функцию из поп-апа тебе никто вызывать не мешает, но вызывать её надо как
Код:
window.opener.myKewlOptionAdd(...);
 

Valentin

Новичок
Большое спасибо и за советы, и за ответы. Всё получилось

-~{}~ 08.09.05 11:52:

Чуваки, а почему в Mozille FireFox
Код:
window.opener.addOption('<?=$surname.' '.$name?>','<?=mysql_insert_id()?>');
не работает, а в IE все ОК ?
 

kostya.sys

Guest
function addOptionTo( list, text, value )
{
var len = list.length;
var opt;

if (this.IE) {
opt = list.document.createElement("OPTION");
} else {
opt = new Option();
}
opt = list.options[len] = opt;
opt.text = text;
opt.value = value;

return opt;
}
я вот это спер гдето пару лет назад
работает во всех бровзерах
 
Сверху