Forum Webscript.Ru

Программирование => JavaScript & JScript => Тема начата: linker от 04 Июля 2005, 16:26:44

Название: Замена значения параметра.
Отправлено: linker от 04 Июля 2005, 16:26:44
Как можно найти и заменить значение нужного параметра в адресной строке?
Название: Замена значения параметра.
Отправлено: commander от 04 Июля 2005, 16:33:01
linker
regexp
Название: Замена значения параметра.
Отправлено: linker от 04 Июля 2005, 17:31:54
Вот нашел для ссылок, а для адресной строки не могу сообразить.



href1
href2
href3


 

Название: Замена значения параметра.
Отправлено: commander от 04 Июля 2005, 17:34:34
linker
так... стоп!
ты хочешь заменить Джавой менять линки в адресной строке броузера??? ...
Название: Замена значения параметра.
Отправлено: linker от 04 Июля 2005, 17:45:43
Я понимаю что надо серверным скриптом( php например),но я что-то не как не могу сообразить как мне сделать такую вещь
У меня есть select из воторого юзверь передает что-то выбирает(для того что-бы найти что-нибудб в базе), этот значение я через onchange этого select\'a передаю  в адресную строку.Из которой в php значение ($_GET[параметр]). Так вот у меня проблема в следующем, если пользователь выбирает второй раз из этого селекта то параметр добавляется ещё раз а мне надо чтобы просто менялось его значение.
Название: Замена значения параметра.
Отправлено: commander от 04 Июля 2005, 17:53:35
Цитировать
через onchange этого select\'a передаю в адресную строку
 покажи функцию на onchange ...
Название: Замена значения параметра.
Отправлено: linker от 04 Июля 2005, 17:55:06
Вот так сделал работает, но почему-то мучают сомненья
function setvalue(name, value) {
         var re = new RegExp("([\\\\?&]" + name + "=).*?(?=&|$)", "");
            var s = document.location.href;
            document.location.href = s.replace(re, "$1" + value);

      }
      var flag=1;
   /*ïåðåäàåò çíà÷åíèå â àäðåñíóþ ñòîêó äëÿ DN*/
      function GetValue_DN(param)
      {
                  
         dn=document.katalog.DN.selectedIndex;
         valdn=document.katalog.DN.options[dn].text;
         if ((param==0) && (flag==1))
         {
            document.location.href =\'katalog.htm?dn=\'+valdn;
            flag=2;
         }
         else
         {
            setvalue(\'dn\',valdn)
         }
         /*if (param==1)
         {
            document.location.href =window.location+\'&dn=\'+valdn;
         }*/
      }
Название: Замена значения параметра.
Отправлено: commander от 04 Июля 2005, 18:00:55
linker
абсурд какой-то... или я что-то не понимаю...
чем тебя не устраивает

?
Название: Замена значения параметра.
Отправлено: linker от 04 Июля 2005, 18:16:12
Может и абсурд, но объяснить по русски у меня видимо не получается, но я разобрался у меня все заработало. Но мне решение не совсем нравится. Попробую ещё раз объяснить что надо.

Допустим есть форма на ней несколько комбобоксов(select), надо сделать так чтобы у пользователя при выборе данных из комбобокса менялись данные в таблице(выборка из базы).
Что-то типа
Если выбрал значения из первого combo
select * from  table1,table2... where парам1=значение combobox1
Если из второго
select * from  table1,table2... where парам1=значение combobox1 and парам2=значение combobox2
Если опять поменял значение в первом,то
select * from  table1,table2... where парам1= измененное значение combobox1 and парам2=значение combobox2

Вот как-то так
Название: Замена значения параметра.
Отправлено: commander от 04 Июля 2005, 18:41:57
linker
на select поставить следующее:
onchange="form.submit();"
?
Название: Замена значения параметра.
Отправлено: linker от 05 Июля 2005, 09:26:28
Спасибо большое, что наставил на путь истинный, а то каким-то изобретением велосипедов занялся.Переклинило конкретно.