Обновление URL в Drupal и AJAX - PullRequest
0 голосов
/ 11 апреля 2011

У меня есть список выбора в моей форме, как показано ниже:

            <form name="source_form">
                <select id="sel_source_zero" name="sel_source_zero">
                <?php
                $sources = _ajax_get_news_sources();
                foreach ($sources as $key => $value) {
                    print ("<option value=\"$key\">$value</option>\n");
                }
                ?>
                </select>
                <input type="submit" value="Submit" />
            </form>

Когда пользователь выбирает значение из списка, я хочу взять это значение и передать его в функцию PHP и вернуть списокидентификаторов.Получив исходное значение и идентификаторы, я хочу обновить свой URL-адрес этими значениями.Весь мой код выглядит следующим образом:

           <?php
                   $source_var = $_GET['sel_source_zero'];
                   $action_zero = "/news/date/"._ajax_condition_ids_final_unique_plus_seperated($source_var)."/$source_var";
            ?>

            <script type="text/javascript">
            $("#sel_source_zero").change(function (){
            $.ajax()
            });
            </script>

            <form name="source_form" method="get">
                <select id="sel_source_zero" name="sel_source_zero">
                <?php
                $sources = _ajax_get_news_sources();
                foreach ($sources as $key => $value) {
                    print ("<option value=\"$key\">$value</option>\n");
                }
                ?>
                </select>
                <input type="submit" value="Submit" />
            </form>

Я подошел к этой проблеме, сначала пытаясь сохранить выбранное значение ($ ("sel_source_zero"). Value ()) в переменной PHP.используя AJAX.Вот где я застрял.Я пытаюсь использовать функцию $. Ajax () из jQuery, добавленной в Drupal, но я не уверен, как это сделать.Если я смогу как-то сохранить переменную JavaScript в переменной PHP, тогда я смогу использовать мою новую преобразованную исходную переменную в PHP и передать ее в свою функцию, чтобы получить список идентификаторов, а затем обновить свой URL.Но я даже не уверен, что это правильный подход.Если кто-то может указать мне правильное направление на то, как я могу обновить свой URL с выбранным значением и возвращенными значениями PHP, возвращенными функцией, которая использует выбранное значение в качестве параметра, я был бы очень признателен.

1 Ответ

0 голосов
/ 11 апреля 2011

Невозможно общаться с php, который был выполнен и мертв.Я не уверен на 100%, что вы хотите сделать.Предположим, вы хотите перенаправить на новый URL, когда пользователь выберет «#sel_cource_zero».

Если это так (или аналогично), ответ будет следующим:

form.php:

<script type="text/javascript">
        $("#sel_source_zero").change(function (){
                var sel = $(this).val();

                $.ajax({type:"GET", data: {'sel_source_zero': sel},
                        url: "ajax.php", dataType: "json", success:
                        function(result){
                                location.href = result;
                        }
                });
        });
</script>

<form name="source_form" method="get">
        <select id="sel_source_zero" name="sel_source_zero">
        <?php   
                $sources = _ajax_get_news_sources();
                foreach ($sources as $key => $value) {                                                                      
                        print ("<option value=\"$key\">$value</option>\n");
                }       
        ?>      
        </select>
</form> 

ajax.php:

<?php

$source_var = $_GET['sel_source_zero'];
$action_zero = "/news/date/"._ajax_condition_ids_final_unique_plus_seperated($source_var)."/$source_var";

echo json_encode($action_zero);
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...