在甜蜜警报错误中插入Laravel翻译中的javascript参数

时间:2017-07-17 11:02:23

标签: javascript laravel blade

我需要创建一个通用函数来提醒表单中的必填字段。

我没有找到正确的语法。

我的代码:

function alertRequired(field) {
    swal({   
        title: "{{ trans('alerts.error') }}!",
        html: "{{ trans('cv.required_"+ field + "') }}",
        type: "error",  
        timer: 3500, 
        showCancelButton: false,   
        confirmButtonColor: "#DD6B55",
        confirmButtonText: "{{ trans('alerts.close') }}",  
        closeOnConfirm: true
    })
    // location.reload(true)
}

Sweet Alert中浏览器的响应如下:

cv.required_"+ field + "'

1 个答案:

答案 0 :(得分:1)

你不能在PHP代码中使用javascript。 php代码在您的服务器上呈现html响应,并在客户端执行javascript。所以你不能混合它们。有关此内容的更多信息,请参阅this answer

您必须将所有可能的翻译添加到您的javascript代码中,并从此列表中获取所需的翻译。

例如:

var translations = {!! json_encode(trans('cv')) !!};
alert(translations["required_" + field]);

这会将cv下的所有翻译呈现为javascript可以读取的json对象,而在第二行,您将获得所需的此对象的属性。