【问题标题】:InstantClick disables form submitInstantClick 禁用表单提交
【发布时间】:2016-08-23 07:42:04
【问题描述】:

我目前正在使用 php laravel 框架并尝试将 Instantclick 用于刀片模板,但它禁用了表单提交。 我在引导模式中有一个类似下面的表格。我可以在第一次加载时提交表单。但是,如果我移动到其他页面并返回,我将无法提交表单。

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

【问题讨论】:

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


    【解决方案1】:

    InstantClick 不会禁用表单。反之,它不理会表单,无论您做什么,任何表单提交都将被排除在 InstantClick 行为之外。

    此外,它不会禁用 jQuery 或任何其他脚本。但是可能会发生冲突!请注意,如果您使用的是 Laravel Debugbar,它会使用 jQuery.noConflict(),这可能会导致您的 jQuery 库出现问题 - 加载另一个页面后,jQuery 不再可以作为 $ 或 jQuery 访问。解决方案之一就是避免使用noConflict()。

    data-no-instant 是对的 - 您应该将它用于不应在每次页面更改时加载的每个脚本,但只加载一次,这通常是大多数典型脚本。对于您需要在每次页面更改时再次加载的所有脚本,请不要使用该属性,如果它只是代码的一部分,请使用

    InstantClick.on('change', function() {
      // Do what you need to do on each page change here
    });
    

    【讨论】:

      猜你喜欢
      • 2016-07-30
      • 2016-06-05
      • 2017-05-02
      • 2016-04-03
      • 1970-01-01
      • 2018-06-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多