Как вызвать функцию контроллера, когда пользователь выбрал значение в раскрывающемся списке? - PullRequest
0 голосов
/ 13 ноября 2009

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

Я использую CakePHP для создания системы, в которой я хочу иметь выпадающий список, чтобы позволить пользователю выбирать. когда пользователь выбрал значение, я хотел вызвать функцию в контроллере. доступно изить, что я могу использовать $ form-> input для выполнения этого ??

как я могу вызвать функцию в контроллере в этой ситуации? Могу ли я вызвать функцию, пока пользователь выбирает данные, и я отправляю данные в контроллер ??

любой 1 может помочь? спасибо ..

Ответы [ 3 ]

2 голосов
/ 13 ноября 2009

Как уже упоминалось, вам нужно будет сделать это через JavaScript. Я приведу вам быстрый пример и, надеюсь, это поможет. Ключом является форма, в которой находится поле выбора, действие этой формы и другие входные данные помогут направить ваш сценарий. Например:

<form action="<?=$_SERVER['PHP_SELF']?>" method="POST">
  <select name="selectbox" size=1 onchange="this.form.submit();">
    <option value="">Please choose your page</option>
    <option value="1">Page option 1</option>
    <option value="2">Page Option 2</option>
  </select>
</form>

В приведенном выше примере всякий раз, когда поле выбора изменяется, оно вызывает действие отправки формы, которое отправляет форму по почте действию, в данном случае само по себе. Как только страница перезагрузится в ваш PHP-скрипт, вы можете посмотреть на переменную $ _POST и посмотреть, какую страницу они выбирают, а затем перенаправить их.

switch( $_POST['selectbox'] ) {
  case 1:
     //Redirect or include page 1
     break;
  case 2:
     //Redirect or include page 2
     break;
}

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

0 голосов
/ 13 ноября 2009

Вы думаете о элементе выбора

0 голосов
/ 13 ноября 2009

Это разрешимо на клиенте с Javascript. PHP напрямую не полезен для этого, как и CSS.

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