我试图使用laravel在if statemenet中运行javascript函数,但在尝试运行javascript函数时会收到以下错误:
Parse error: syntax error, unexpected ':', expecting '(' (View: C:\rcms_w\resources\views\frontend\home.blade.php)代码:
<script type="text/javascript">
@if (Auth::user()->roleplay->health_points >= 100)
setHealth(1);
@elseif
setHealth(0.{{ Auth::user()->roleplay->health_points }});
@endif
@if (Auth::user()->roleplay->energy_points >= 100)
setEnergy(1, {{ Auth::user()->roleplay->energy_points }});
@elseif
setEnergy(0.{{ Auth::user()->roleplay->energy_points }}, {{ Auth::user()->roleplay->energy_points }});
@endif
@if (Auth::user()->roleplay->hygiene_points >= 100)
setHygiene(1, {{ Auth::user()->roleplay->hygiene_points }});
@elseif
setHygiene(0.{{ Auth::user()->roleplay->hygiene_points }}, {{ Auth::user()->roleplay->hygiene_points }});
@endif
@if (Auth::user()->roleplay->hunger_points >= 100)
setHunger(1, {{ Auth::user()->roleplay->hunger_points }});
@elseif
setHunger(0.{{ Auth::user()->roleplay->hunger_points }}, {{ Auth::user()->roleplay->hunger_points }});
@endif
</script>发布于 2017-03-27 19:52:33
您使用此结构:
@if (Auth::user()->roleplay->health_points >= 100)
setHealth(1);
@elseif
setHealth(0.{{ Auth::user()->roleplay->health_points }});
@endif被解析为
<?php if (Auth::user()->roleplay->health_points >= 100) : ?>
setHealth(1);
<?php elseif: ?>
setHealth(0.{{ Auth::user()->roleplay->health_points }});
<?php endif; ?>elseif部分需要另一条语句(比较某个东西或期望一个布尔值)。
如果您将@elseif更改为@else,它应该可以工作。
您的新脚本如下:
<script type="text/javascript">
@if (Auth::user()->roleplay->health_points >= 100)
setHealth(1);
@else
setHealth(0.{{ Auth::user()->roleplay->health_points }});
@endif
@if (Auth::user()->roleplay->energy_points >= 100)
setEnergy(1, {{ Auth::user()->roleplay->energy_points }});
@else
setEnergy(0.{{ Auth::user()->roleplay->energy_points }}, {{ Auth::user()->roleplay->energy_points }});
@endif
@if (Auth::user()->roleplay->hygiene_points >= 100)
setHygiene(1, {{ Auth::user()->roleplay->hygiene_points }});
@else
setHygiene(0.{{ Auth::user()->roleplay->hygiene_points }}, {{ Auth::user()->roleplay->hygiene_points }});
@endif
@if (Auth::user()->roleplay->hunger_points >= 100)
setHunger(1, {{ Auth::user()->roleplay->hunger_points }});
@else
setHunger(0.{{ Auth::user()->roleplay->hunger_points }}, {{ Auth::user()->roleplay->hunger_points }});
@endif
</script>https://stackoverflow.com/questions/43054094
复制相似问题