我在Symfony Project工作,使用Twig模板引擎。 我有一个form.html.twig文件,其中我有一个大表单,还有一个可以生成多次我想要的。 所以,当我按下" +"按钮,出现一个新的子表单。 这个表单出现在prototype.html.twig文件中,其中存储了表单的所有HTML,包括JS。
看起来像:
<table class="table table-responsive table-bordered text-center" style="margin-bottom:0px;">
<tr class="active">
<td style="vertical-align:middle; padding-top:9px; padding-left:4px; padding-right:4px;"> <span style ="font-size: 24px;" class="glyphicon glyphicon-upload"></span></p> </td>
<td>{{ form_row(form.date) }}</td>
<td>{{ form_row(form.value) }}</td>
<td> {{ form_label(form.type, 'Value as % of') }}
{{ form_widget(form.type) }} </td>
<td>{{ form_row(form.frequency) }}</td>
<td>{{ form_row(form.duration) }} </td>
<td>{{ form_row(form.agreement) }}</td>
<td class="deleteButton" style="vertical-align:middle;"><a href="#"><button class="btn-sm btn-danger" style="border-radius:100%;"><span class="glyphicon glyphicon-remove"></span></button></a></td>
</tr>
</table>
<script>
$('.deleteButton').on('click', function(e) {
e.preventDefault();
$(this).parent().remove();
});
</script>
{% block javascripts %}
<script src="{{asset('js/endingDateCalculator.js')}}"></script>
{% endblock javascripts %}
看看阻止javascripts。在这个块中,我有一个脚本,用于计算子表单中的结束日期。所以,一旦我点击&#34; +&#34;按钮出现一个新表单,脚本endingDateCalculator正在运行并连接以使用此表单。
我有点担心,如果我点击多次&#34; +&#34;,换句话说......如果我有超过1个子表单,则会调用此脚本一次又一次,这会降低页面速度,或者/并且可以在同一时间内制作错误。
一次又一次地打电话? 如果是,我该如何解决? 我尝试将endingDateCalculator.js链接到form.html.twig(基本模板),但在这种情况下,当我生成新表单时,此脚本无效。
答案 0 :(得分:0)
不确定symfony,但其中一个选项可能就是这个
<script src="//ajax.aspnetcdn.com/ajax/jquery/jquery-2.0.0.min.js"></script>
<script>window.jQuery || document.write('<script src="js/jquery-2.0.0.min.js">\x3C/script>')</script>
======
来自https://www.hanselman.com/blog/CDNsFailButYourScriptsDontHaveToFallbackFromCDNToLocalJQuery.aspx