如何使用按键(键盘输入)使用Enter按钮重定向yii2操作

时间:2017-02-09 05:30:46

标签: redirect yii2 keypress

我正在处理yii2中的表单,我不想使用鼠标,因为这个表单将在Project on Project中使用,所以我想从键盘输入。表单中有两个按钮,第一个是结果,第二个是开始投票,我想隐藏这些按钮意味着在投影机上这些按钮不会显示。对于结果操作我正在使用Enter按钮,对于开始投票,我使用右箭头键。

我的代码是

<script>

$(document).keydown(function(event) {
   if (event.keyCode == '13') {
            return Yii::$app->getResponse()->redirect(array('/results/getResults'));
      }
 });
</script>

但是当我按下回车键时它不起作用。我怎样才能做到这一点。非常感谢朋友。

2 个答案:

答案 0 :(得分:2)

这个例子应该没​​问题我希望: 您的视图文件(test.php)

<?php
/* @var $this yii\web\View */
$this->registerJsFile('/js/test.js', ['depends' => [\yii\web\JqueryAsset::className()]]);
?>

您的js文件(test.js)

$(document).keydown(function (event) {
    if (event.keyCode == '13') {
        window.location.replace("/results/getResults");
    }
});

答案 1 :(得分:0)

您的代码正在运行,但它不会出现在确切的页面上

$(document).keydown(function (event) {
        if (event.keyCode == '13') {

             window.location.replace("'.Url::toRoute(['votingresults','q_id'=>$key->id]).'")

        }

});

它将浏览器中的输出显示为

http://localhost/merck/backend/web/'.Url::toRoute(['votingresults','q_id'=%3E$key-%3Eid]).'

我需要

http://localhost/merck/backend/web/index.php?r=voting%2Fvotingresults&q_id=1