Prototype и Gecko browsers

epsyl

Новичок
Prototype и Gecko browsers

Использовал prototype 1.4.0 для решения своей задачи.

Задача така, выбираем из селекта что-то и в зависимости от того, какой пункт выбрали - подгружается список во второй селект..

нашёл статью http://htmlcoder.visions.ru/JavaScript/?17.

использовал этот пример чтобы обновить список во втором селекте.

а с помощью prototype делаю запрос в php файл, который и достаёт этот список из базы..

вобщем эта конструкция работает в IE и в Opera (я удивлён)
в Gecko браузерах нет =( (FF, Netscape), не делает AJAX запрос

PHP:
      var action = 'SearchCurort';
      var a = $F('s_country');
      var url = '/ajax.php';

      var pars = 'action=' + action + '&a=' + a;

      //чистим форму
      $('s_curort').length = 1;
      $('s_hotel_type').length = 1;
      $('s_hotel').length = 1;
	
      var myAjax = new Ajax.Request( url, { method: 'get', parameters: pars, onComplete: ShowResponse });
может кто сталкивался? или может намекнуть ;) в какую сторону копать?
 

faithless.man

Новичок
могу предположить, что проблема в передаче параметров pars,
возможно неправильно формируется запрос

попробуй так
Код:
var pars = 'action=' + encodeURIComponent(action) + '&a=' + encodeURIComponent(a);
 

epsyl

Новичок
PHP:
//чистим форму
      $('s_curort').length = 1;
      $('s_hotel_type').length = 1;
      $('s_hotel').length = 1;
в этом вся проблема, я хочу очистить select, оставив там только первое значение. В IE и Opera это получается, а в FF не работает... может кто подскажет как для FF очистить список select?
 

Nik S.

Новичок
epsyl, select очистить в JS так (кросс-браузерно, оставив 1 элемент):

while (selObj.options.length>1)
selObj.remove(1);
 

epsyl

Новичок
PHP:
    function delete_options (selobj, size)
    {
      while (selobj . options . length > size)
        selobj . options [selobj . options . length - 1] = null;
    }
      delete_options($('s_curort'), 1);
      delete_options($('s_hotel_type'), 1);
      delete_options($('s_hotel'), 1);
если удалять option с одного селекта (первого)
PHP:
      delete_options($('s_curort'), 1);
//      delete_options($('s_hotel_type'), 1);
//      delete_options($('s_hotel'), 1);
то удаляет номально, а если раскомментировать больше одной строки, то не удаляет вобще
 
Сверху