2013-05-10 6 views
0

를 제출 다시 역동적 인 형태로 이동 약간의 더미 코드가 있지만 동적 인 형태라는 것을 분명히합니다.나는이 같은 형태를 가지고 후

이 양식을 제출하고 브라우저의 뒤로 버튼 만 누르면 값이 추가 된 입력란이 사라졌습니다.

어떻게 처리하는 것이 좋습니까?

UPDATE 내가 CodeIgniter의 양식 유효성 검사를 사용하고

. 양식이 실패하면 모든 변수가 그대로 있으며 사용자 정의 코딩을 수행 했으므로 동적 필드와 값이 그대로 남아 있습니다. 내가하려는 일에이 부분을 사용할 수 있습니까? 기본적으로 폼 유효성 검사를 위해 이미 모든 것이 있습니다. 이제는 다시 돌아가는 동안 작동해야합니다 ...

+0

@rahulmaindargi :

$('form').submit(function() { var array = {}; array['name'] = []; array['counter'] = 0; $('input').each(function() { array['name'].push($(this).val()); array['counter']++; }); sessionStorage.setItem('input', JSON.stringify(array)); }); 

그리고 부하 : 예를 들어 이전에 제출

if(sessionStorage.getItem('input')) { var array = JSON.parse(sessionStorage.getItem('input')); for (var n = 0; n < (array['counter'] - 1); ++ n) { $('form').append($('input[type="text"]').clone()); } $('input').each(function(index,value) { $(this).val(array['name'][index]); }); sessionStorage.removeItem('input'); } 

을 그리고 온라인 데모이에 대한 블로그 게시물을 작성했습니다 여기 ... – epascarello

+0

@epascarello 왜 아닙니다 .. qustion은 근성이있는 것 같습니다. OP가 문제 해결을 위해 노력했다면, 청색의 완벽한 솔루션을 제공하는 것보다 도움이 될 것입니다. –

+0

브라우저에서 뒤로/앞으로 단추를 사용할 때 응용 프로그램의 상태를 일관되게 유지하려는 경우. ajax 기반의 솔루션을 만들고 페이지를 다시로드하지 않고 url을 변경해야합니다. AngularJS와 같은 무언가는 아마도 여러분이 직접 작성하려고하지 않는다면 여기까지 먼 길을 도울 수 있습니다. – thebreiflabb

답변

0

제출 버튼은 문서를 새로 요청하고 현재 문서를 언로드합니다. 진행 상황을 페이지에 저장하는 가장 쉬운 방법은 페이지를 전혀 언로드하지 않는 것입니다. 간단한 구현을 찾을 수 있습니다 here

또한 쿠키 나 로컬 저장소를 사용하여 문서의 상태를 저장할 수도 있습니다.

업데이트 깨달았어요 당신은 또한 문서를 언로드 할 경우이 문제가 해결되지 않습니다

$("form").bind('submit',function(){ 
    return false; 
}); 

를 사용할 수 있습니다. 그리고 "뒤로"버튼을 사용하여 다시로드하십시오. 그렇다면 쿠키와 로컬 스토리지 만 저장할 수 있습니다.

+0

제 경우에는 Ajax를 통한 제출 처리가 옵션이 아닙니다. – Roy

관련 문제