我目前正在使用php laravel框架并尝试使用instantclick进行刀片模板,但它禁用了表单提交。 我在bootstrap模式中有一个类似下面的形式。我可以在第一次加载时提交表单。但是,如果我转到其他页面并回来,我将无法提交表格。
<form id="caseNoteForm" class="width-100" method="post" action="{{route("updateNote",["caseNo"=>$case->case_no])}}">
{{method_field("PUT")}}
<textarea name="customerReportNote" rows="10" class="width-100" style="resize: vertical">{{$case->customerReportNote}}</textarea>
<div class="width-100">
<button class="btn btn-success pull-right margin-top-10" value="submit" type="submit">Finalize</button>
</div>
</form>
似乎InstantClick也禁用了jQuery。我该如何处理这种冲突? 我已经尝试了所有脚本的 data-no-instant ,但它仍然不起作用。 请给我一些建议
答案 0 :(得分:1)
InstantClick不会禁用表单。反过来说,它只留下表单,任何表单提交都会从InstantClick行为中排除,无论你做什么。
此外,它不会禁用jQuery或任何其他脚本。但是可能会发生冲突!请注意,如果您使用的是Laravel Debugbar,它会使用^[A-Za-zăâîșțĂÂÎȘȚ\s-]*[A-Za-zăâîșțĂÂÎȘȚ-][A-Za-zăâîșțĂÂÎȘȚ\s-]*$
,这可能会导致您的jQuery库出现问题 - 在加载另一个页面后,jQuery不再可以作为jQuery.noConflict()
或$
访问。其中一个解决方案就是避免使用jQuery
。
你对noConflict()
的看法是正确的 - 你应该将它用于每个不应该在每个页面上加载的脚本,但只能使用一次,这通常是典型脚本的大多数。对于您需要在每次更改页面时再次加载的所有脚本,请不要使用该属性,如果它只是代码的一部分,请使用
data-no-instant