2013-02-27 2 views
0

부분로드 된 아약스가 포함 된 양식을 제출합니다. 이전에 ajax를 사용하여이 양식에 추가 된 선택 필드가있는 양식을 제출하려고합니다. 이 같은Rails 3.2에서 레일스 부분에

  1. 우선 형태 (:remote => true 있음) (다른 사람들)이 이런 다른 형태의 내부 선택 필드를 렌더링 js.erb 응답 (필드 선택하는 부분이다)

    $('#target_variables_div').html("<%= j render(:partial => 'logged_data/select_vars', :locals => { :vars => @vars, :date => @date }) %>") 
    
  2. 이 "다른"양식 (또한 :remote => true 있음)은 양식 필드가 더 많지만 페이지로드시 정적으로로드됩니다.

문제는이 "다른"양식을 제출할 때 부분적으로 이전에로드 된 선택 필드를 제외한 정적 매개 변수 만 보내는 것입니다. 내가 jQuery를 live 또는 on 함께 할 수있는 뭔가가하지만 난 여전히 전체 양식을 제출할 수 없습니다 나는 알고

... 어떤 도움

감사합니다!

+0

그래서 올바르게 렌더링됩니까? 문제는 정적 데이터 만 가져 오는 것입니까? – Learner

+0

예, 올바르게 렌더링되지만 양식을 제출할 때 선택 양식 필드 데이터가 매개 변수에 포함되지 않습니다 ... – user980145

답변

0

jQuery를 liveon 방법에 연결된 이벤트가 같은 같은 첫 번째로드에 존재하지 않는 버튼과 페이지에 새로 추가 된 dom 요소, 대기에 있지만, dinamically 추가되고 있어야합니다 :

$('#dinamyc_button').on('click', function() {}); 

귀하의 경우에는 수동으로 선택 값을 설정해야한다고 생각합니다.

$('#your_form').submit(function() { 
    var formData = $(this).serialize(); 
    var selectValue = $('#your_select').val(); 
    formData['select'] = selectValue; // or formData.select = selectValue; 
    $.ajax({ 
    type: 'POST', 
    url: whatever, 
    data: formData 
    }) 
}); 

이 그냥하지 연마 예,하지만 당신은 아이디어를 가지고 : 서버에 전달되는 데이터에 대한 선택 값을 추가합니다 제출이에, 폼에 리스너를 만들어보십시오.

+0

도움을 주셔서 감사합니다. 그러나 여전히 동일한 결과를 제공합니다. 그 문제는 var에 selectValue = $ ('# your_select')라고 생각합니다 .Val(); 여전히 선택 필드 값을 가져 오지 않기 때문에 ... – user980145

+0

이 제출 수신기를 디버깅하고 콘솔에서 선택 값을 가져올 수 있는지 확인하십시오. – MurifoX

0

MurifoX 덕분에 드디어 양식을 완전히 제출할 수있었습니다. 이전에는 DOM이로드 된 후 제출 블록을 실행하고있었습니다 (내 CoffeeScript 파일에 jquery -> 블록 안에 있음). 그 결과 CoffeeScript는 다음과 같습니다 :

$('#generate-button').on "click", (e) -> 
    e.preventDefault() 
    formData = $(this).parents("form").serialize() 
    selectValue = $('#select_vars_field').val() 
    $.ajax 
    type: 'POST', 
    url: '/logged_data/get_chart', 
    data: formData + "&vars=" + selectValue 
관련 문제