2014-01-27 3 views
0

페이지 새로 고침/새로 고침을 통해 양식 상태를 보존하는 방법을 생각해냅니다. 지금까지 나는 dumbformstate 플러그인을 발견했습니다. 어느 것이 아름답게 작동합니다. 내가 가진 유일한 문제는 동적으로 주입 된 필드 때문입니다. 그들은 상쾌하게 유지하지 않습니다. 누구든지 동적으로 주입 된 필드에서 사용할 수있는 제안이 있습니까?페이지 새로 고침보다 양식 상태를 유지 하시겠습니까?

또는이 특정 플러그인을 사용하는 사람이 동적 필드로 작업해야하는지 알았습니까? 잘못된 방법으로 삽입하고 있습니까?

success: function(data) { 
    var html = $("<div><h3>"+catName+"</h3></div>"); 
    html.find("h3").data("category",catName); 
    subCatContainer.append(html); 
    subCatsFetched = subCatContainer.find("h3"); 

    $(data).each(function(){ 
     var input = $('<label>'+this.sub_cat_name+'<input type="checkbox" name="sub_cat[]" value="'+this.sub_cat_id+'" /></label>'); 
     html.append(input); 
    }); 
} 

를하거나 필드 인해 그들은 div 요소 내부 것에 유지하지 않는 것이 가능하다 : 이것은 내가 그것을 어떻게? 그들이 div의 내부에 있어야하는 이유가 있습니다. 그래서 현실적으로 할 수있는 일은 없습니다.

내가 찾고자했던 또 다른 것은 DOM의 임의의 부분을 가져 와서 새로 고침 (쿠키/로컬 저장소)을 통해 보존 할 수있는 일반적인 "DOM 보존 프로그램"입니다. 그러나 그 경우에는 입력 값이 보존되지 않을 것이라고 추측하고 있습니까?

편집 :

이 질문에는 답변이 없습니다. 이 플러그인의 내 가정이 잘못되었습니다. 폼의 모든 요소를 ​​벗어난 상태에 대한 정보를 저장하는 것뿐 아니라 동적으로 생성 된 DOM 요소를 보존하기 위해 아무 것도하지 않습니다. 생성 된 DOM을 저장하기 위해 일부 localStorage를 사용한 후에는 모든 입력 내용이 예상대로 유지됩니다!

답변

1

필드를 자동으로 채운 후에 플러그인을 인스턴스화하면 어떨까요? 자바 스크립트에서 다음과 같이 표시됩니다.

//Load field's content 
loadData(...); 

//Instantiate plugin 
$('your-form').dumbFormState(...) 

작동합니까?

+0

폼을 변경할 때마다 인스턴스화하는 선을 따라 뭔가를 시도했습니다. 그러나 여전히 동적 인 영역을 선택하지 않았습니다. – galdikas

+0

플러그인을 살펴보면 다음과 같이 표시됩니다. [line 150] $ this.bind ('blur.dumbFormState focus.dumbFormState click.dumbFormState keyup.dumbFormState change.dumbFormState', function() {...} 내가 한 말을 할 수있다. 모든 변경 후에도 인스턴스화를 호출 할 필요는 없다. 한번만해라. –

+0

OK,이 플러그가 저장되어있는 JSON을 조사한 후. 동적 필드에 대한 정보는 실제로 페이지가로드되는 동안 보존되며 플러그는 예상대로 작동합니다. 문제는 HTML이 보존되지 않으며이 플러그인이 볼 수있는 것에서 그래서 어떻게 든 나 자신을 만들겠다. 내 생각에는 생성 된 DOM에서 HTML을 저장하기 위해 로컬 저장소를 사용해야하고이 플러그가 폼 요소의 채우기를 처리한다는 것을 알게된다. – galdikas

관련 문제