2012-09-25 3 views
1

많은 필드가있는 레일에있는 필드를 가진 데이터를 저장하고 싶습니다. 실제로 양식에 데이터를 채울 때 실수로 데이터가 손실 될 수 있으므로 텍스트 필드에서 포커스를 잃은 후 해당 데이터를 하나씩 저장하려고합니다. 나는 날씨가 어떤 보석이나 그것을 할 수있는 방법이 궁금합니다.초점을 잃은 직후에 데이터 저장 레일에있는 텍스트 필드

몇 가지 제안 사항을 보내주십시오.

감사합니다.

+0

를 사용하여 AJAX 내가 제발 안내하는 데 도움이 방법을 모르는 – Rab

답변

0

서버에 새 데이터를 보내려면 보석이 필요하지 않습니다. jQuery를 사용할 수 있습니다 (물론 jQuery에 gem을 사용할 수 있습니다). 필드의 blur 이벤트에 업데이트 코드를 연결하기 만하면됩니다. 텍스트 필드를 편집 할 때

$(document).on('blur', 'input[type=text]', function(e){ 
    post_data = {}; //prepare your data here 
    $.post(UPDATE_URL, post_data, function(response_data){ 
    console.log(data) 
    }) 
}) 

는 지금은 서버에 업데이트 된 데이터를 보낼 것입니다, (당신이 원하는 경우에 당신은 쿼리에 다른 필드를 추가 할 수 있습니다). UPDATE_URL을 사용하면 사용할 수 있습니다. 그러나 게시 요청을하기 위해 csrf_token_name 및 값이 필요합니다. post_data에 추가하십시오. 어떻게 찾을 수 없으면 아마도 도움이 될 것입니다.

+0

데이터를 저장하는! – hengsokly

+0

당신은 얼마나 멀리 나아 갔습니까? 적어도 요청을 시작할 수 있습니까? 그렇지 않다면 먼저 해주세요. 서버가 귀하의 요청을 거부하면 (csrf가 부족하여) 귀하에게 요청할 수 있습니다. – HungryCoder

3

jQuery 흐림 기능을 사용하고 @Rab Nawaz가 말한 것처럼 AJAX가 데이터를 제출합니다.

Here는 흐림의 작업 예입니다, 같은 그래서 explanationdocumentation

뭔가 :

$("input").blur(function(){ 
    $("form.form_class").submit(); 
}); 

그냥 양식이 AJAX 제대로 설정되어 있는지 확인하십시오.

보석을 찾고 있다면 one을 사용해보세요. 절대로 사용하지는 않았지만 멋지게 보입니다. 희망이 도움이됩니다.

1

Ajax가 대답입니다. 그러나 성능에 대해 생각해보십시오. 모든 속성이 포커스를 잃은 후에 요청을 보내면 데이터베이스 및 서버에 여러 요청을 보냅니다.

관련 문제