перенаправление на основе формы раскрывающегося списка php - PullRequest
1 голос
/ 15 марта 2012

, поэтому я хочу направлять пользователей на разные страницы, основываясь на их выборе из 2 различных меню вниз

так что если у нас есть:
Меню 1
девушка
мальчик

и
Меню 2
синий
зеленый
желтый
красный

Я бы хотел перенаправить на разные страницы, если они выбирают девушку + синий, мальчик + синий, мальчик + зеленый и т. Д. для всех комбинаций. Большое спасибо за любую помощь! Я, конечно, пытался искать, но не мог найти решение этой довольно простой ситуации.

вот что у меня есть:

 <td><span class="style1">You're a:</span><br>
                    <select name="select1" id="select1" onchange="getACupOfCoffee(this)">
                      <option selected="selected">-- Please Select --</option>
                      <option value="1">Male seeking Female</option>
                      <option value="2">Female seeking Male</option>
                      <option value="3">Male seeking Male</option>
                      <option value="4">Female seeking Female</option>
                    </select>
                  </td>
                </tr>
                <tr>
                  <td><img src="http://cdn.qtxi.com/dm/datespace/_spacer.gif" height="35" width="300"></td>
                </tr>

                <tr>
                  <td><span class="style1">Relationship I'm looking for:</span><br>
                    <select name="select2" id="select2">
                      <option>-- Please Select --</option>
                      <option value="1b">Casual</option>
                      <option value="2b">Serious / Longterm</option>
                      <option selected="selected" value="3b">Friend</option>
                      <option value="4b">Nothing</option>
                    </select></td>
                </tr>
                <tr>
                </tr>
              <tr>
                  <td><input type="image" src="continue2.jpg" width="149" height="37" border="0" /><a onclick="internalLink=true" href="redirect-30074.php"><img src="free.gif" alt="continue" /></a></td>

Ответы [ 5 ]

1 голос
/ 15 марта 2012

Ваш HTML требует тег формы и кнопку отправки, которая направляет на страницу php, которая решает, что делать.

Допустим, вы сделали это и вызвали страницу php solution.php.

Затем в файле решений.php вы сравниваете значения, полученные из формы.

Вы получаете информацию в переменных $ _POST или $ _GET в зависимости от того, какой HTML-тег формы вы использовали.

Очистите полученные переменные, а затем используйте оператор php case.

switch ($_POST['select1'].$_POST['select2']) {
    case "11b":
        $redirectLocation = "MaleseekingFemaleCasual.html";
    case "12b":
        $redirectLocation = "MaleseekingFemaleSerious.html";

ЭСТ.

header ("Location: ".$redirectLocation);

Надеюсь, это поможет.

1 голос
/ 15 марта 2012

Так как я вижу функцию onchange и нет формы, я собираюсь предположить, что вы используете javascript

Я лично использую jQuery при работе с javascript, поэтому я плохо использую его в моем awnser, а также, если вы не используете jquery. метод все еще должен указывать в правильном направлении.

присвоить идентификатору кнопки продолжения

$('#continue').click(function(){
    if( $('#select1').val() == "1" ){
    //male seeking female
        if( $('#select2').val() == "1b"){
        //casual in male seeking female
        window.location = "1/1b/page.html";
        }
    }
    if( $('#select1').val() == "2" ){
    //female seeking male
        if( $('#select2').val() == "1b"){
        //casual in female seeking male
        window.location = "2/1b/page.html";
        }
    }
});

и повтори .... надеюсь, это поможет

1 голос
/ 15 марта 2012

Вы можете использовать jQuery для этого, например.

$(document).ready(function(){

$("#select2").change(function(){
var selA=$("#select1 option:selected").val();
var selB=$("#select2 option:selected").val();
document.location.href="http://your_url_here/"+selA+selB;

});

});

Этот код будет перенаправлять на ваш URL, используя значения в опции выбора, если select2 изменится

0 голосов
/ 15 марта 2012

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

  • Добавьте событие onchange к вашему select2 идентификатору.Это будет что-то вроде <select name="select2" id="select2" onchange="gotourl();">
  • Теперь выберите правильную пользовательскую функцию на языке клиента, которую вы можете легко использовать.Код будет принимать значение из вашего первого раскрывающегося списка, генерировать URL и перенаправлять.Код будет выглядеть примерно так:

    function gotourl() { var choice_one = $('#select1').val(); var choice_two = $('#select2').val(); // MVC based side pattern window.location = "mywebsitename.com/".choice_one.'/'.choice_two; // CUSTOM PAGES BASED SITE. switch(choice_two) { case 'Casual': switch(choice_one) { case 'Male seeking Female': window.location = "mywebsitename.com/".choice_one.'/'.choice_two; break; //ANOTHER CASE FROM BELOW.... } break; // ANOTHER CASE from .. } }

Я много пробовал, но код не входит в блок {}.Попробуйте этот код из вашего редактора.

0 голосов
/ 15 марта 2012

Вы можете создать javascript, который будет вызываться, когда пользователь нажимает на элемент из второго выпадающего списка?

Что-то вроде:

<select onchange="MyFunc(this.options[this.selectedIndex].value)">
    <option value="">Choose a destination...</option>
    <option value="Blue">Blue</option>
    <option value="Red">Red</option>
</select>

А в функции вы получаете значение из первого списка DropDown.

EDIT:

В MyFunc-функции просто проверьте значение первого раскрывающегося списка и сравните его со значением, которое вы берете в качестве параметра в функции.

var e = document.getElementById("select1");
var result = e.options[e.selectedIndex].text; 

//Or var result = e.options[e.selectedIndex].value;

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

См. Это: Получить выбранное значение в раскрывающемся списке с помощью JavaScript?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...