2016-03-30 4 views
0

Ich lerne immer noch Schienen und habe ein Problem mit meinem Absenden-Button. Ich habe eine Bootstrap-Schaltfläche, um "Request" in Rails zu senden, und möchte eine JQuery-Box mit einer Nachricht einblenden, sobald die Schaltfläche gedrückt wird. Momentan funktioniert die Taste nur zeitweise und nicht zu anderen Zeiten, und ich kann nicht herausfinden, warum sie nicht einheitlich funktioniert.JQuery funktioniert nicht konsistent für eine form_for-Schaltfläche

Die JQuery codeis unter:

<script src=" https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> 
    <script> 
    $(document).ready(function(){ 
     $("form").submit(function(){ 
      $("#processing").fadeIn(1000); 
     }); 
    }); 
    </script> 

Hier ist der Code für meine Form und die JQuery Aktion:

<%= form_for (@request), :html=> {:id => "form"} do |f| %> 

     <%= f.check_box(:option1) %> 
     <%= f.label(:option1, "Option 1") %><br> 

     <%= f.check_box(:option2) %> 
     <%= f.label(:option2, "Option 2") %><br> 

    <center><%= f.submit "Submit Request", class: "btn btn-primary", data: {disable_with: "Processing..."} %></center> 

    <% end %> 


    <br><br> 
    <center><div id="processing" style="width:550;height:65px;display:none;background-color:darkgrey; vertical-align:middle"> 
     <font color="white"><br>Your request is processing.</font></div><br></center> 
+0

Haben Sie Ihre Browser-Konsole auf Fehler überprüft? –

+0

Wird der Button dynamisch generiert? –

+0

Bitte fügen Sie den HTML –

Antwort

0

sind Sie turbolinks mit? Das Jquery Event Document Ready funktioniert nicht korrekt mit Turbolinks. Versuchen Sie, Turbolinks aus Ihrer application.js-Datei zu entfernen und testen Sie sie

+0

Dies scheint zu funktionieren. Vielen Dank! – Jason

+0

Gern geschehen. Wenn es Ihr Problem gelöst hat, markieren Sie bitte die Antwort =) –

Verwandte Themen