2011-08-08 4 views
0

몇 가지 (동적으로 변경 가능한 금액) 입력 필드 (주로 텍스트, 몇 개의 버튼)가있는 페이지가 있으며 양식이 완료/제출/완료되면 더 이상 편집 할 수 없지만 여전히 볼 수 있습니다. 내가 이러한 목표를 달성하기 위해 한 일은 불가능라는 문자열을 선언하고, 양식이 확정 된 경우, 그것은ASP.NET 입력 태그 - 커서 : default

disabled="disabled=\"disabled\"" 

로 설정되고, 그렇지 않은 경우는 null입니다. 그런 다음 입력 태그에 배치하여 사용할 수 없도록합니다. 이것은 잘 작동합니다. 그러나 커서는 단추의 포인터 및 텍스트 상자의 텍스트 커서로 계속 변경됩니다. 어떻게 바꿀 수 있습니까? 나는 "로 태그 내에서 따옴표를 렌더링

string disabled = (bool)ViewData["Finalized"] ? "disabled = \"disabled\" style=\"cursor:default\"" : null; 

에 노력하고있어. 비활성화 기능은 정상적으로 작동하지만 커서는 아무런 영향을받지 않습니다. 문자열 (동일한 결과) 내에서 작은 따옴표로 다시 쓰려고 시도했습니다. 문자열과 큰 따옴표 (오류, 너무 많은 문자가 리터럴에 있음)를 작은 따옴표로 사용했지만 성공하지 못했습니다. 이렇게 할 수있는 방법인가요? 아니면 잘못된 방향으로 가고 있습니까?

<input type="button" id="newtablebutton" class="pctbutton white" value="Add Table" onclick="showbox()" <%: disabled %> /> 
+0

나는 페이지를 오버레이 낮은 불투명도 사업부의 간단한 수정으로 이동하지만, 의미있는 모든 것 (내 테스트에서 크롬이 이미 비활성화 된 입력의 기본 커서를 사용하는 것이 있습니다) 정보는 스크롤 div에 포함되므로 스크롤 기능을 잃어 버릴 염려가 없습니다. – yoozer8

+0

스타일 속성을 설정 한 사용하지 않는 요소에 대한 CSS 클래스를 만드는 방법에 대해 설명합니다. – Zachary

+0

@Zachary - 그 중 아무 것도 안된다 – yoozer8

답변

1

출력이 정확히 일치합니까?

<input maxlength="4" type="text" name="input1" value="1" disabled = &quot;disabled&quot; style=&quot;cursor:default&quot;/> 

문자열이 요소에 설정되면 인코딩이 해제됩니다. 그 이유는 엘리먼트에 설정하는 이유입니다.

변경이 : 여기에

<input type="button" id="newtablebutton" class="pctbutton white" value="Add Table" onclick="showbox()" <%: disabled %> /> 

는 :

<input type="button" id="newtablebutton" class="pctbutton white" value="Add Table" onclick="showbox()" <%= disabled %> /> 

... 그리고 당신이 잘되어야합니다. 그 이유는 < % : disabled %> html encodes이고 < % = disabled %>입니다.

0

커서를 사용해보십시오 : : 없음

위 설정의 결과 출력은 입력이 예제의 라인을 따라 페이지에 정의되어

<input maxlength="4" type="text" name="input1" value="1" disabled = &quot;disabled&quot; style=&quot;cursor:default&quot;/> 

가 언급하는 것을 잊었다입니다 커서를 표시하지 않으려는 경우

시도 중지 된 문자열이 효과에 뭔가를 추가 :

onfocus="javascript:if (this.disabled) this.style.cursor = 'none'; 
+0

커서 : 아무 것도 효과가 없음 – yoozer8

+0

어떤 브라우저를 사용하십니까? 그것은 대부분의 브라우저에서 작동합니다. –

+0

Internet Explorer 8. CSS 또는 인라인 스타일 속성을 통해 일반 방식으로 태그로 적용 할 때 작동하지만 jQuery를 통해 적용하면 문제를 찾을 수 있습니다. – yoozer8

0

당신은 또한 사용할 수있는과 함께, 너무 같은 읽기 전용 입력을 설정하려고 할 수 있습니다. 이것이 커서에 영향을 줄지는 모르겠지만 그렇게 할 수는 있습니다. jQuery 또는 JS 솔루션보다 확실히 간단합니다.

+0

Readonly은 여전히 ​​필드의 텍스트를 선택하고 복사/붙여 넣기를 허용하므로 커서는 여전히 텍스트 커서입니다. – yoozer8

0

의심 스럽다면 jQuery!

function hideCursor() { 
    $("input[disabled='disabled']").css("cursor","default"); 
} 

언제든지 호출 할 수 있습니다.

또한

생활 간단하게하기 :

function disableForm() { 
    $("#myForm input").attr('disabled', 'disabled'); 
    $("#myForm input").css("cursor","default"); 
} 

건배!

+0

난 그냥 같은 기능을 가지고 있고, 페이지를 볼 동안 양식을 사용할 수 없을 때 그것을 사용하지만로드 (내가 jQuery를 사용할 수있는 알고 있지만 위에 구현 이미 사용 중지 및 작동을위한 장소에 있었기 때문에 가능한 경우 커서를 해당 방법으로 사용 중지하려고합니다. – yoozer8

+0

$ ("# myForm input") .css ("커서", "기본값"); 이렇게하면 커서가 비활성화됩니다 ... 조금 혼란 스럽습니다. 구현중인 세부 코드를 게시 할 수 있다면 더 많은 도움을 드릴 수 있습니다. –

1

보기에서 마크 업과 함께 서버 변수를 렌더링 할 때 MvcHtmlString.Create 메소드를 사용해야합니다. 렌더링 할 때 특수 문자를 인코딩하지 않습니다. 이것을 시도하면 문제가 해결됩니다.

<input type="button" id="newtablebutton" class="pctbutton white" value="Add Table" onclick="showbox()" <%= MvcHtmlString.Create(disabled) %> /> 
0

각 요소에 스타일을 생성하는 대신 CSS에 이것을 추가하는 것은 어떻습니까?

input[disabled] 
{ 
    cursor: default; 
}