繁体   English   中英

Yii2在另一个文件中调用javascript函数

[英]Yii2 calling javascript function at another file

我有一个js文件和一个索引文件,它们位于同一文件夹中。 这是我的表格。 我也已经注册了脚本。

$this->registerJs($this->render('script.js'), \yii\web\VIEW::POS_READY);

<?php $form = ActiveForm::begin(); ?>
<div class="booth">
    <video id="video" width="400" height="300"></video>
    <a href="#" id="capture" class="button">Take Photo</a>
    <canvas id="canvas" width="400" height="300"></canvas>
</div>

<div class="form-group">
       <?= Html::button('Save',['class'=>'btn btn-primary','onclick'=>'saveimage();']) ?>
</div>

 <?php ActiveForm::end(); ?>

这是js文件中的函数。

function saveimage()
{
    var csrfToken = $('meta[name="csrf-token"]').attr("content");

    console.log(123);

    })*/
}

当我单击我的按钮时,显示错误Uncaught Reference Error: saveimage is not defined 反正那里有调用函数吗?

我也尝试过'onclick'=> 'js:saveimage()' ,但仍然无法正常工作。

尝试:

$this->registerJs(
    "function saveimage()
     {
        var csrfToken = $('meta[name="csrf-token"]').attr("content");

        console.log(123);

     }",
    \yii\web\VIEW::POS_READY,
    'my-button-handler'
);

或者,如果要使用单独的js文件,则可以使用以下语法:

$this->registerJsFile(
    '@web/js/script.js',
    ['depends' => [\yii\web\JqueryAsset::className()]]
);

使用yii \\ web \\ View对象时,您可以动态注册前端脚本。 有两种专用的方法:

1)registerJs()用于内联脚本

2)registerJsFile()用于外部脚本

有关更多详细信息,请参考链接

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM