将AJAX实现为rails表单。

时间:2016-04-13 20:11:23

标签: javascript jquery ruby-on-rails ruby ajax

我有一个用户可以通过短信发送消息。该表单具有调度消息的功能。现在我有一个静态按钮,上面写着"发送消息"并且它可以工作但是当用户安排消息时我喜欢按钮来切换内部文本以阅读"安排消息"通过onlcick类型动作。我认为这应该是使用ajax实现的事情,但我之前从未在rails应用程序中使用它。我将展示一个屏幕截图和一些代码,希望这将是足够的信息。如果您需要的代码比我最初展示的更多,请告诉我。

这是我的表单截图,因此当用户点击日历glyphicon时,它将启动ajax并切换"发送消息"按钮说"安排消息" enter image description here

以下是我的表单的代码

<div class="container text-center">
 <div class="row">
  <div class="col-lg-8 col-lg-offset-2 well">
     <%= form_for @message do |form| %>
       <div class="form-group">
         <%= form.label :body, "Enter a Message:", class: "message_label"%>
         <%= form.text_field :body, class: "form-control", placeholder: "New things are happening!" %>
       </div>
       <%= form.submit "Send Message", class: "btn btn-primary" %>
       <h3>Groups:</h3>
       <div class="radio">
         <div class="row col-span10">
           <% Group.all.each do |group| %>
             <div class="col-md-3">
               <label>
                 <input id="message_group_<%= group.id %>" name="message[group_ids][]" value="<%= group.id %>" type="checkbox">
                 <%= group.name %>
               </label>
            </div>
          <% end %>
        </div>
      </div>
      <h3>Scheduled Text Message:</h3>
      <div class="row">
        <div class='col-sm-4 col-sm-offset-4'>
          <div class="form-group">
            <div class='input-group date' id='datetimepicker'>
              <%= form.text_field :send_at, class: "form-control" %>
              <span class="input-group-addon">
                  <span class="glyphicon glyphicon-calendar"></span>
              </span>
            </div>
          </div>
        </div>
      </div>
    <% end %>
  </div>

1 个答案:

答案 0 :(得分:0)

我建议你阅读Working with javascript in Rails,在那里解释一些关于javascript和AJAX的事情。

基本上,您需要将表单标记为remote并使用javascript挂钩到AJAX事件(成功,完成,错误等)以执行您想要的任何动画/转换。