2015-02-04 110 views
0

我想在我的树枝中使用外部JS文件。目标只是验证客户的意见。 当我将我的脚本直接放入我的Transfert.html.twig时,我的脚本很好地执行,但是当我使用外部文件时没有任何资产发生。通过assetic创建的链接是很好的(我可以看到我的剧本时,我在我的网页源代码点击它),但萤火说symfony树枝javascript函数undefined

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

我registred我捆到应用程序/配置/ config.yml: “捆绑:[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> 

回答

3

你必须从你的JavaScript文件中删除

<script type="text/javascript">