InstantClick禁用表单提交

时间:2016-04-28 13:38:27

标签: php jquery twitter-bootstrap laravel laravel-blade

我目前正在使用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 ,但它仍然不起作用。 请给我一些建议

1 个答案:

答案 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