Laravel 将 blade 文件中的图像更改为 javascript

Laravel change image in blade file with javascript

我正在尝试使用 javascript 更改我的 blade 文件中的图像 但出现以下错误。作为旁注,我在 laravel 中启用了 HTML 表单,并且我能够在没有 javascript 的情况下显示图像。

Fatal error: Class 'HTML' not found (View:/home/vagrant/Code/Laravel/resources/views/pages/progress.blade.php)

下面是我的 javascript 代码

<script>
window.onload = function() {
changeImageForSeniorLevel();

};

function changeImageForSeniorLevel() {
var level = '<?php echo $levelValue; ?>';

if (level == 3)
{
document.getElementById("image").src="{{ HTML::image('progress2/Icons/Calls_Icon.png', 'alt',array('width' => 150 )) }}";
}
}
</script>

这是我要更改的图像的代码,如果我评论 javascript,该代码将显示图像。

{{ HTML::image('progress2/Icons/Meetings_Icon.png', 'alt', array('id' => 'image', 'width' =>150)) }}

HTML::image 是 Laravel class / 在 PHP 中解析的方法(托管在您的服务器上)。您无法使用浏览器/HTML 解析它。浏览器不知道 HTML::image 是什么意思。在您的情况下,您只想更改已绘制在文档上的图像的属性。

您可以使用以下方法来实现您想要的:

if(level == 3){
    var myImage = document.getElementById("image");
    myImage.src = 'progress2/Icons/Calls_Icon.png';
    myImage.alt = 'alt';
    myImage.style.width = '150px';
}