2016-04-28 20 views
0

Ich verwende derzeit PHP Laravel Framework und versuchen, Instantclick für Blade-Vorlage zu verwenden, aber es deaktiviert Formular absenden. Ich habe ein Formular wie das unten in einem Bootstrap-Modal. Ich kann das Formular bei der ersten Ladung einreichen. Ich kann das Formular jedoch nicht einreichen, wenn ich auf eine andere Seite gehe und zurückkomme.InstantClick deaktiviert Formular senden

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

Es scheint InstantClick auch jQuery deaktiviert. Wie kann ich mit diesem Konflikt umgehen? Ich habe bereits versucht, Data-No-Instant für alle Skripts, die ich habe, aber es funktioniert immer noch nicht. Bitte geben Sie mir einen Hinweis zu diesem

Antwort

1

InstantClick deaktiviert Formulare nicht. Andersherum, es hinterlässt Formulare allein, jede Formularübergabe wird von InstantClick Verhalten ausgeschlossen, egal was Sie tun.

Es deaktiviert auch nicht jQuery oder andere Skripts. Konflikte können jedoch auftreten! Vorsicht, wenn Sie Laravel Debugbar verwenden, verwendet es jQuery.noConflict(), was wahrscheinlich Ihr Problem mit der jQuery-Bibliothek verursacht - nach dem Laden einer anderen Seite ist jQuery nicht mehr als $ oder jQuery erreichbar. Eine der Lösungen ist nur zu vermeiden, noConflict() zu verwenden.

Sie haben Recht über data-no-instant - Sie sollten es für jedes Skript, das nicht auf jeder Seite geladen werden sollte, aber nur einmal und das ist in der Regel die Mehrheit der typischen Skripts verwenden. Für alle Skripte, die Sie erneut bei jeder Seitenänderung laden müssen, verwenden Sie das Attribut nicht. Wenn es nur ein Teil des Codes ist, verwenden Sie bitte