Программирование > JavaScript & JScript
добавление элемента в <select> => "ошибка на сервере"
Forza:
Неужели никто не знает, почему такое может быть? :(
Интересно хотя бы узнать из-за чего может возникать ошибка в JavaScipt-скрипте, которую броузер называет "ошибкой сервера".
Макс:
а у тебя на локальном компе это все работает или такая же ошибка ?
создай мелнькие ХТМЛ-файлы :
файл, содержащий твой СЕЛЕКТ
файл с фрейм-структурой
и 2 файла для фреймов.
С минимальным ХТМЛ и яваскриптом.
Попробуй, если все это не работает, то выложи на форум.
Forza:
--- Цитировать ---Макс:
файл, содержащий твой СЕЛЕКТ
--- Конец цитаты ---
main.html. Содержит функции открытия нового окна и добавления нового элемента в , находящегося в том же окне, что и функция (это, естественно, работает):
--- Код: ---
function OpenNew(theURL) {
window.open(theURL,\'new\',\'\');}
function addNewItem ()
{
list=conditionForm.person_id;
list[list.length] = new Option (\'added from main.html\');
}
Иванов Иван Иванович
Петров Пётр Петрович
Open New Window
Add New Item To Select
--- Конец кода ---
--- Цитировать ---Макс:
файл с фрейм-структурой
--- Конец цитаты ---
Файл frameset.html, открываемый в отдельном окне из main.html:
--- Код: ---
--- Конец кода ---
--- Цитировать ---Макс:
и 2 файла для фреймов
--- Конец цитаты ---
Файл frame1.html. В нём есть функция, которая в зависимости от входного параметра либо изменяет текущее выбранное значение , либо должна добавить в него новое значение. Обращение к из другого окна идёт в обоих случаях одинаковым образом (parent.opener.document.conditionForm.person_id), а сам момент добавления нового элемента - аналогичен тому, как это происходит в функции addNewItem() файла main.html.
--- Код: ---
function changeSelect(action) {
list = parent.opener.document.conditionForm.person_id;
if (action == \'changeList\')
{
if (list.selectedIndex == 0) {list.selectedIndex=1;}
else {list.selectedIndex=0;}
}
if (action == \'addNewItem\')
{
list[list.length] = new Option (\'added from frame1.html\');
}
}
Add New Item To Select
Change Selected Item
--- Конец кода ---
Макс:
вот такой код у меня заработал (IE6 & Opera 7.23):
--- Код: ---
function changeSelect() {
list = parent.opener.document.conditionForm.person_id;
var oOption = parent.opener.document.createElement("OPTION");
oOption.text="Ferrari";
oOption.value="4";
list.add(oOption);
}
Add New Item To Select
--- Конец кода ---
Forza:
Макс, огромное спасибо. Всё работает.
А (так для общего развития ;)) есть какие-нибудь идеи, почему мой вариант не работал? Я ведь его брал из мануала ( http://devedge.netscape.com/library/manuals/2000/javascript/1.3/reference/select.html ), да и для случая "всё в одном окне" было всё ок.
Или это кривость IE? А в "Опере" мой вариант работал?
Навигация
Перейти к полной версии