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


Автор: Гриша 27.11.2005, 15:02
Здравствуйте. Ниже я описал полностью рабочий javascript код и пример html кода. Суть такая, когда пользователь выбирает из нисападающего меню какой-либо пункт, и нажымает кнопку отправить, на следующую страницу передается get запрос, с тем значением (value), которое соответсвует выбранному пункту. Если пользователь ничего не выбрал, то при нажатии на кнопку отправить ему выскачит предупреждение.

Код

function makeLink_razmer(id)
{
 var fm = document.getElementById('form'+id);
 var elem1 = fm.elements['sel'];
 var url = '/issue_order/cart.php?';

  if (elem1.style.display == '')  url += 'sealy='+elem1.options[elem1.selectedIndex].value;
  
  if (url.indexOf('?') == url.length-1 || url.indexOf('=') == url.length-1)  alert('Выберите размер');
  else  location.href = url;
}


Код

                                    <form id='form1' method="get" action="" class="form">
                                    <select size="1" name="sel" id="select1">
                                        <option selected>Выберите размер:</option> 
                                        <option value="tonico190x80">190 x 80</option>
                            <option value="tonico190x85">190 x 85</option>
                                        <option value="tonico190x90">190 x 90</option>
                                        </select><br><a href="javascript: makeLink_razmer(1);" id="form-a">отправить</a>&nbsp;
                                    </form>



Вот теперь я добавляю вот такой javascript код
Код

function ch_sz(tobj,num){
        var obj=document.getElementById("IS_"+num);
        var st=tobj.value;
        obj.innerHTML=st.split('_')[1];
    return true;
}


и html код получается такой

Код

                                    <form id='form1' method="get" action="" class="form">
                                    <select size="1" name="sel" id="select1" onchange="return ch_sz(this,'tonico190x80');">
                                        <option selected>Выберите размер:</option> 
                                        <option value="tonico190x80_1200">190 x 80</option>
                            <option value="tonico190x85_1300">190 x 85</option>
                                        <option value="tonico190x90_1400">190 x 90</option>
                                        </select><br><a href="javascript: makeLink_razmer(1);" id="form-a">отправить</a>&nbsp;
                                    </form>

А в этом поле на странице отображается значение полсе _ , в соответсвии с выбранным пунктом.
Код

<p><span id="IS_tonico190x80">1200</span></p>



И вот тут возникает проблема, что на следующую страницу передается гед запрос где значение такое tonico190x80_1200, а нужно чтобы передовалось такое tonico190x80.
Помогите пожалуйста с решением этой проблемы.

Автор: Ciber SLasH 27.11.2005, 16:56
Сделай в первом скрипте тоже самое, что и во втором скрипте:

Первый скрипт, строку 7 меняешь на:
Код
  if (elem1.style.display == '')  url += 'sealy='+(elem1.options[elem1.selectedIndex].value).split('_')[0];

Автор: Гриша 27.11.2005, 17:29
Ciber SLasH, спасибо большое за помощь, когда я начинал делать сайт я даже не думал, что можно так сдлеать. Мне такой вариант скрипта очень поможет. Ты мне очень сильно помог.

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