많은 필드가있는 레일에있는 필드를 가진 데이터를 저장하고 싶습니다. 실제로 양식에 데이터를 채울 때 실수로 데이터가 손실 될 수 있으므로 텍스트 필드에서 포커스를 잃은 후 해당 데이터를 하나씩 저장하려고합니다. 나는 날씨가 어떤 보석이나 그것을 할 수있는 방법이 궁금합니다.초점을 잃은 직후에 데이터 저장 레일에있는 텍스트 필드
몇 가지 제안 사항을 보내주십시오.
감사합니다.
많은 필드가있는 레일에있는 필드를 가진 데이터를 저장하고 싶습니다. 실제로 양식에 데이터를 채울 때 실수로 데이터가 손실 될 수 있으므로 텍스트 필드에서 포커스를 잃은 후 해당 데이터를 하나씩 저장하려고합니다. 나는 날씨가 어떤 보석이나 그것을 할 수있는 방법이 궁금합니다.초점을 잃은 직후에 데이터 저장 레일에있는 텍스트 필드
몇 가지 제안 사항을 보내주십시오.
감사합니다.
서버에 새 데이터를 보내려면 보석이 필요하지 않습니다. 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에 추가하십시오. 어떻게 찾을 수 없으면 아마도 도움이 될 것입니다.
데이터를 저장하는! – hengsokly
당신은 얼마나 멀리 나아 갔습니까? 적어도 요청을 시작할 수 있습니까? 그렇지 않다면 먼저 해주세요. 서버가 귀하의 요청을 거부하면 (csrf가 부족하여) 귀하에게 요청할 수 있습니다. – HungryCoder
jQuery 흐림 기능을 사용하고 @Rab Nawaz가 말한 것처럼 AJAX가 데이터를 제출합니다.
Here는 흐림의 작업 예입니다, 같은 그래서 explanation 및 documentation
뭔가 :
$("input").blur(function(){
$("form.form_class").submit();
});
그냥 양식이 AJAX 제대로 설정되어 있는지 확인하십시오.
보석을 찾고 있다면 one을 사용해보세요. 절대로 사용하지는 않았지만 멋지게 보입니다. 희망이 도움이됩니다.
Ajax가 대답입니다. 그러나 성능에 대해 생각해보십시오. 모든 속성이 포커스를 잃은 후에 요청을 보내면 데이터베이스 및 서버에 여러 요청을 보냅니다.
Sisyphus jquery를 시도해보십시오. 자동으로 데이터를 로컬에 저장합니다.
http://coding.smashingmagazine.com/2011/12/05/sisyphus-js-client-side-drafts-and-more/
를 사용하여 AJAX 내가 제발 안내하는 데 도움이 방법을 모르는 – Rab