簡體   English   中英

頁面重定向問題-使用Jquery的Cakephp3

[英]Page Redirection Issue- Cakephp3 using Jquery

我在一個頁面上保留了一個下拉菜單,用戶可以在其中切換語言。 我正在使用主題,因此我將這個下拉列表保留在login.ctp頁面上,並使用Jquery將表單值發布到控制器的方法中。 我不知道login.ctp中有兩個表單元素,但是我的下拉表單元素未到達特定控制器,而是重定向到登錄控制器。

login.ctp
 <form id="locale_form" method="post" action="changeLanguage">
  <div id="language" class="language" align="right">
  Please Select Language
    <select id="languageselect" name="languageselect">
        <option name="select" value="lang">Select A Language</option>
        <option name="en_EN" value="en_EN">English</option>
        <option name="de_DE" value="de_DE">German</option>
    </select>
 </div>
  </form>
<div id="login-page">
        <div class="container">

              <!-- <form class="form-login"> -->
              <?= $this->Flash->render('auth') ?>
            <?= $this->Form->create('',['class'=> 'form-login','id'=>'login_form']) ?>
-----------------Login Form Code----------------

使用Jquery onchange我正在切換語言。

<script type="text/javascript">

    $("select").change(function(){       
         $("#locale_form").submit();
    });

    </script>

使用該方法的我的Userscontroller:

use Cake\I18n\I18n;


class UsersController extends AppController
{   
 public function changeLanguage()
    {
         /*I18n::locale('de_DE');
         echo "reached here";*/
         print_r($this->request->data());die(); 
        if ($this->request->is('post')) 
        {

            $lang = $this->request->data('languageselect');
            $this->request->session()->write('locale', $lang);
            I18n::locale($lang);
            return $this->redirect(['action' => 'login']);
        }

    }

我不知道為什么,但是我的id =“ locale_form”的表單元素沒有達到其action元素。 我正在使用Cakephp3,但我不知道我在哪里搞砸了。

添加此方法changeLanguage以允許如下所示。

$this->Auth->allow('changeLanguage');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM