2017-04-26 4 views
-1

읽기 전용 속성이있는 텍스트 상자가있는 양식이 있습니다. 이것은 큰 문제가 아니지만 내가 물어볼 줄 알았는데, 그래서 사용자가 그것을 선택할 수없고 그 안에 커서를 넣을 수 있도록 텍스트 상자를 만드는 방법이 있습니까?ReadOnly 텍스트 상자를 선택 취소 할 수 있습니다.

disabled 속성을 사용하면 해당 텍스트 상자가 양식과 함께 제출되지 않습니다.

여기에 js/jquery 솔루션이 있습니까? 어떤 도움에 감사드립니다


<form> 
    <div class="col-md-9"> 
     @Html.EditorFor(model => model.Time, new { htmlAttributes = new { @class = "form-control clear-textbox create-form-txtbox time-txtbox", @readonly = "readonly" } }) 
     @Html.ValidationMessageFor(model => model.Time, "", new { @class = "text-danger" }) 
    </div> 

    <input type="submit" value="Submit" /> 
</form> 

SNIPPET.

+0

@StephenMuecke 아 작동합니다. 고마워요. 답으로 게시하고 받아 들일 것입니다. –

답변

-1

I을 포함하여 아무 소용이없는

// hidden input so the value is submitted 
@Html.HiddenFor(m => m.Time) 
// disabled textbox to display the value and prevent any interaction 
@Html.EditorFor(m => m.Time, new { htmlAttributes = new { disabled = "disabled, @class = "form-control clear-textbox create-form-txtbox time-txtbox" } }) 

주를 렌더링 할 수 Stephen의 코멘트를 답으로 사용하고 작동합니다.

서버에 제출할 숨겨진 입력 필드를 만들었지 만 사용자는 숨겨진 입력 필드에있는 값으로 비활성화 된 텍스트 상자 만 볼 수 있습니다.

0

시도해보십시오. 나를 위해 일하고있다. @ Html.EditorFor를이 컨트롤로 바꿉니다.

<input type="text" value="@Model.Time" id="Time" name="Time" class="form-control" readonly /> 
+0

@ Html.EditorFor를 사용할 때 페이지의 렌더링이 그 것입니다. –

0

사용 인라인 onkeydown="return false;" 속성

또는 자바 스크립트 솔루션

$('#someId').keydown(function(e) { 
    e.preventDefault(); 
    return false; 
}); 
0

을 원하는 경우 어떤 자바 스크립트에 대한 필요가 없습니다. 당신은 속성에 대한 숨겨진 입력을 포함하고 (텍스트 상자처럼 보이게하는 스타일 요소 또는 텍스트 만) 비활성화 된 텍스트 상자 @Html.ValidationMessageFor()