Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Yii2在另一个文件中调用javascript函数_Javascript_Php_Yii2 - Fatal编程技术网

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

Yii2在另一个文件中调用javascript函数,javascript,php,yii2,Javascript,Php,Yii2,我有一个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"><

我有一个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(); ?>
当我单击我的按钮时,显示错误
未捕获引用错误:未定义saveimage
?调用这个函数有什么用

我也尝试了“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()


有关更多详细信息,请参阅。

该解决方案是否适合您?如果是,请考虑对答案进行投票,如果不是,请告诉我们您还面临哪些其他问题。此外,我建议您通过以下链接:
$this->registerJsFile(
    '@web/js/script.js',
    ['depends' => [\yii\web\JqueryAsset::className()]]
);