2012-05-17 1 views
0

제목에서 알 수 있듯이 확인란을 클릭하면 기본적으로 한 텍스트 상자에서 다른 텍스트 상자로 값을 복사하려고합니다. 자바 스크립트를 통해이 작업을 수행하는 방법을 알고 있지만 유일한 문제는 서버 측에서 면도기로 처리해야한다는 것입니다. 아래 코드를 사용하여이 작업을 수행하려고합니다. 객체의 인스턴스로 설정되지 않은 악명 높은 "객체 참조"를 제공하고 있습니다. 오류. 그러나 나는 그것이 무엇을 추천하고 있는지 정확히 알지 못한다. 어떤 도움도 인정 될 것이다.복사 확인란 선택 후 면도날로

<div class="editor-field"> 
    @Html.CheckBoxFor(model => model.SameAddress, new { id = "chkAddress" }) 

    @{bool isChecked = false; 
     if (Boolean.TryParse(Request.Form.GetValues("chkAddress")[1], out isChecked) == true) 
     { 

     } 
    } 
</div> 
+1

작업을 수행해야합니다. – SLaks

+0

행동에서 무엇을 의미합니까? –

+0

SameAddress 란 무엇입니까? viewModel에 속성을 만들어 모델에서 수행해야하는 검사를 수행하고 확인란에 바인딩 할 수있는 bool을 반환 할 수 있습니까? –

답변

2

면도기는 이것에 도움이되지 않습니다. 이를 수행하는 방법은 두 가지가 있습니다.

1) 자바 스크립트 : 체크 박스 변경 이벤트를 수신하고 체크 된 경우 첫 번째 텍스트 상자의 내용을 읽고 두 번째로 붙여 넣습니다. 이것은 제가 선호하는 것입니다.

$(function(){ 
    $("#chkCopy").change(function(){ 
     $("#address2").val(""); 
     if(this.checked) 
     { 
      $("#address2").val($("#address1").val()) 

      //Lets read city and paste it in the second place as well. 
      $("#city2").val($("#city1").val()) 
     }     
    }); 
});​ 

같은 일부 것은 ID chkCopy와 체크 박스가 작동

를 클릭 할 때 ID address2와 텍스트 박스 ID address1와 텍스트 상자에서 복사 할 가정 샘플 : http://jsfiddle.net/9fM89/4/

2) 양식 게시 : 사용자가 "복사"버튼을 클릭하게하고 양식을 제출하게합니다. 액션 메소드를 사용하여 폼 요소의 값을 읽고 두 번째 확인란의 속성을 설정하고 해당 값을 뷰로 반환합니다.

+0

좋아, 고마워! 이것은 나중에 비록 내가 자바 스크립트를 사용하는 경우, 다시 컨트롤러에서보기에서 데이터를 전달과 함께 hangups가 발생합니까? –

+0

이것은 많은 도움을줍니다! 내 다음 질문은, 만약 내가 어떻게이 방법은 그 jquery에 여러 텍스트 상자, 그냥 2 :)에 대한 작업을 할 수 확장 할 수있다? –

+0

마크 업에 따라 다릅니다. 제네릭 선택기를 사용하십시오. 2 개의 텍스트 상자를 업데이트하도록 내 대답을 업데이트했습니다. – Shyju