symfony trick javascript函数未定义

symfony twig javascript function undefined

本文关键字:未定义 函数 javascript trick symfony      更新时间:2023-09-26

我正试图在我的小树枝中使用一个外部JS文件。目标只是验证客户的输入。当我把我的脚本直接放在Transfert.html.twig中时,我的脚本执行得很好,但当我使用带有assetic的外部文件时,什么都没有发生。assetic创建的链接很好(当我点击网页源代码时,我可以看到我的脚本)。但firebug说

"SyntaxError: expected expression, got '<'
<script type="text/javascript">" "ReferenceError: verifyMontant is not defined"

我已将捆绑包注册到app/config/config.yml中:"bundles:[FASTTransfertBundle]",所以我想在这里形成没有问题

现在这是我的代码:Transfert.html.twig:

{# src/FAST/TransfertBundle/Resources/views/Default/Transfert.html.twig #}
{% extends "FASTTransfertBundle::layout.html.twig" %}
{% block title %}{{ parent() }} - Index{% endblock %}
{% block body %}
    {{ form_label(form.montant) }} {{ form_widget(form.montant,{'attr':{'onblur':'verifyMontant(this)'}}) }}
    {% javascripts '@FASTTransfertBundle/Resources/public/javascript/verifyTransfert.js' %}
        <script type="text/javascript" src="{{ asset_url }}"></script>
    {% endjavascripts %}
{% endblock %}

这是我的javascript文件:

<script type="text/javascript">
//color if wrong
function changeColor(field,error)
{
    if(error)
        field.style.backgroundColor = "#fba";
    else
        field.style.backgroundColor = "";
}
function verifyMontant(field)
{
    var montant=  field.value.replace(/'D+/g,'');
    var regex = /^'-?[0-9]*'.?[0-9]+$/;
    if(!regex.test(field.value)){
        changeColor(field, true);
        return false;
    }
    else if(montant.length != 11){
        changeColor(field, true);
        return false;
    }
    else{
        changeColor(field,false);
        return true;
    }
}
</script>

您必须删除

<script type="text/javascript">

从您的javascript文件。