2017-02-16 61 views
0

我希望有人能幫助我。

我在jquery的以下各項:

$(document).on('turbolinks:load', function() { 
    $("body").on('click', '#submit_roster_item_add', function() { 
     $.get("add_roster_item_info", { 
      id: $("#roster_id").text(), 
      first_name: $("#first_name").val(), 
      last_name: $("#last_name").val(), 
      email: $("#email").val(), 
      youth: $('input[name="roster_item[youth]"]:checked').val(), 
      parent_last_name: $("#parent_last_name").val(), 
      parent_first_name: $("#parent_first_name").val(), 
      parent_email: $("#parent_email").val(), 
      parent_type: $("#parent_type").val() 
     },function(data) { 
      $("#roster_panel").html(data); 
      alert($("#status_message").val()); 
     }); 
    }); 
}); 

控制器功能正確執行,則返回包含元件#status_message的HTML。但是,警報在數據發佈之前觸發。該函數正確返回。如何構造代碼以便在函數返回後觸發警報?

這是呈現部分:

<div id = 'roster_item_content'> 
    <%= semantic_form_for @roster_item do |form| %> 
     <h3>Add a counselor or youth participant</h3> 
     <div id="status_message"><%= @status_message %><%= @error_count %></div> 
     <%= form.inputs do %> 
      <%= form.input :youth, label: 'Type of Participant', as: :radio, collection: [['Adult counselor', false, {checked: true}], ['Youth', true]] %> 
      <%= form.input :first_name, input_html: {id: 'first_name'} %> 
      <%= form.input :last_name, input_html: {id: 'last_name'} %> 
      <%= form.input :parent_first_name, style: 'display:none', required: true, label: 'Responsible adult first name', input_html: {id: 'parent_first_name'} %> 
      <%= form.input :parent_last_name, required: true, label: 'Responsible adult last name', input_html: {id: 'parent_last_name'} %> 
      <%= form.input :parent_email, required: true, label: 'Responsible adult email', input_html: {id: 'parent_email'} %> 
      <%= form.input :parent_type, required: true, label: 'Responsible adult role', input_html: {id: 'parent_type'} , as: :select, collection: Constant::PARENT_TYPES, include_blank: false %> 
      <%= form.input :email, input_html: {id: 'email'} %> 
     <div class="button_container" > 
     <input id="submit_roster_item_add" type="button" value = "Send forms packet" class = "button" > 
     </div> 
     <% end %> 
    <% end %> 
</div> 

Turbolinks和jquery.turbolinks被安裝。

+0

我不熟悉的回報率,但你提到的發佈數據,當您使用'$ .get'。你的意思是使用'$ .post'? – damndaewoo

回答

3

val()是用於獲取和設置value上表單控件,但#status_message<div>

嘗試text()代替

alert($("#status_message").text());