Yii2在另一个文件中调用javascript函数
我有一个js文件和一个索引文件,它们位于同一个文件夹中。这是我的表格。我已经注册脚本了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"><
$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()]]
);