2011-04-06 8 views
3

내 프로젝트는 ASP.NET MVC입니다. 보기에서 나는 Html 텍스트 상자를 만들고 자바 스크립트에서 attr을 사용하지 않도록 설정합니다.Jquery Textbox를 사용할 수 없습니다 ... FormCollection의 특성을 볼 수 없습니다.

<script language="javascript"> 
Disable= function(){ 
    $("#Disable").attr("disabled","disabled"); 
} 
</script> 
<% using(Html.BeginForm("Save","Account")){%> 
<%: Html.TextboxFor(model=>model.Account) %> 
<input type="button" id="Disable" name="Disable" onclick="Disable()"> 
<input type="submit" id="Save"> 
<%}%> 

'저장'버튼이 눌려지면 FormCollection에서 값을 잡습니다. 그러나 나는 그것이 파멸 될 때 컬렉션에서 Textbox를 볼 수 없었다. 제대로 작동하지 않을 때. 왜 이런 일이 생길까요?

+0

http://stackoverflow.com/questions/1245477/dropdown-combo-not-showing-up-in-formcollection-in-controller – Samuel

답변

5

사용하지 않는 필드는 게시되지 않습니다. 당신이 그것을 게시 해야하는 경우 값을 보유하고 숨겨진 필드를 가질 수 있습니다.

+0

들어 Textbox의 경우 숨겨진 필드가 작동하지만 격자가 있으면 모든 열에 체크 박스와 텍스트 상자가 있습니다. 확인란을 선택하면 텍스트 상자가 비활성화되어야합니다. FormCollection을 얻으면 그 행에 표시되지 않습니다. 어떻게이 사건을 처리 할 수 ​​있습니까? – sunny

+0

Chris에게 답해 주셔서 감사합니다. – sunny

+0

사용 중지해야합니까? 읽을 수 있습니까? – ChrisThompson

0

몇 년 전에이 문제에 대해 blog post을 작성했습니다.

아이디어는 읽기 전용으로 표시하고 CSS 클래스를 추가하면 결국 CSS 클래스가 비활성화 된 것으로 표시됩니다. 그런 다음 다시 게시에서 요청 [yourTextBox.UniqueID]을 통해 값에 액세스 할 수 있습니다.

희망이 있습니다.

0

저는 건물에있는 앱에서이 문제가있었습니다. 필자는 필드를 읽기 전용으로 표시하고 싶지 않았습니다. 그래서, 방금 컨트롤을 다시 활성화하는 제출 버튼의 JavaScript 함수에 대한 호출을 추가했습니다.

<input type="submit" name="Save" value="Save" onclick="enableControls(); return true;"/> 

enableControls() 함수 :

function enableControls() { 
    $('input[type="text"], textarea, input[type="checkbox"], select').attr('disabled', false); 
} 
관련 문제