[英]Page Redirection Issue- Cakephp3 using Jquery
I have a page where I have kept a dropdown where user can switch over languages. 我在一个页面上保留了一个下拉菜单,用户可以在其中切换语言。 I am using theme so I have kept this dropdown on login.ctp page and posting form values to controller's method using Jquery.
我正在使用主题,因此我将这个下拉列表保留在login.ctp页面上,并使用Jquery将表单值发布到控制器的方法中。 I have two form elements within login.ctp I don't know but my dropdown form element is not reaching to particular controller instead it is redirecting to login controller.
我不知道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----------------
Using Jquery onchange I am making switch over languages. 使用Jquery onchange我正在切换语言。
<script type="text/javascript">
$("select").change(function(){
$("#locale_form").submit();
});
</script>
My Userscontroller withing that method: 使用该方法的我的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']);
}
}
I don't know why But my form element with id="locale_form" is not reaching to its action element. 我不知道为什么,但是我的id =“ locale_form”的表单元素没有达到其action元素。 I am using Cakephp3 and I don't know where I have messed up.
我正在使用Cakephp3,但我不知道我在哪里搞砸了。
添加此方法changeLanguage以允许如下所示。
$this->Auth->allow('changeLanguage');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.