Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.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
为什么Laravel Blade$errors数组中没有错误会破坏我的JavaScript_Javascript_Php_Forms_Laravel_Validation - Fatal编程技术网

为什么Laravel Blade$errors数组中没有错误会破坏我的JavaScript

为什么Laravel Blade$errors数组中没有错误会破坏我的JavaScript,javascript,php,forms,laravel,validation,Javascript,Php,Forms,Laravel,Validation,我有一个Laravel刀片文件,我想知道名称、电子邮件或消息字段中的错误。我有一个JavaScript函数indicateErrorBox,它向表单中添加了一些CSS类 如果所有字段都有错误,那么它可以正常工作,但是如果一个或多个字段没有错误,那么代码就不会运行。它似乎什么也没做 <script> window.onload = function() { if ({{$errors->has('name')}}) { indicateErrorBox("name")

我有一个Laravel刀片文件,我想知道名称、电子邮件或消息字段中的错误。我有一个JavaScript函数indicateErrorBox,它向表单中添加了一些CSS类

如果所有字段都有错误,那么它可以正常工作,但是如果一个或多个字段没有错误,那么代码就不会运行。它似乎什么也没做

<script>
window.onload = function() {
  if ({{$errors->has('name')}}) {
    indicateErrorBox("name");
  }
  if ({{$errors->has('email')}}) {
    indicateErrorBox("email");
  }
  if ({{$errors->has('message')}}) {
    indicateErrorBox("message");
  }
};
</script>
我显然做错了什么。有人能发现我的错误吗?

试试这个:

<script>
window.onload = function() {
  @if ($errors->has('name'))
    indicateErrorBox("name");
  @endif
  @if ($errors->has('email'))
    indicateErrorBox("email");
  @endif
  @if ($errors->has('message'))
    indicateErrorBox("message");
  @endif
};
</script>

通过查看生成的源浏览器查看并在浏览器控制台中查找抛出的错误,您应该可以轻松地调试自己。生成的源代码是什么样子的?检查生成的源代码html/js以查看{{{$errors->has…}}的输出。如果它像js代码期望的那样输出true或false,我会感到惊讶。这就是为什么我只使用blade if/else指令在条件通过时直接调用JS函数的原因。谢谢解释