2017-02-22 4 views
0

제목은 모든 것을 말합니다 ... 나는 Stackoverflow에서 여러 게시물을 읽었으며 the documentation도 있지만 만족스러운 설명을 아직 찾지 못했습니다.AngularJS : ng-disabled가 입력 값을 제거합니까?

ng-disabled이 활성화 된 경우 태그 안의 입력 값이 제거 되었습니까?

예를 들어 설명해 드리겠습니다.

<form method="POST" name="form" action=""> 
    <select ng-model="model[1]" 
      ng-options="i for i in fc.items[1]" 
      ng-disabled="true"> 
    </select> 
    <select ng-model="model[2]" 
      ng-options="i for i in fc.items[2]" 
      ng-disabled="false"> 
    </select> 
    <input type="submit" value="Next"/> 
</form> 

입력 값은 results[2]:number:1입니다. (number:1이 예상 된 결과 임).

ng-disabled을 제거하면 결과는 results[1]:number:1results[2]:number:1이됩니다.

나는 입력 값에 영향을 미치지 만, 여기에있는 사람이 모든 입력 값을 얻는 방법을 알고 있는지 알고 싶습니다 (가능한 경우). 입력 비활성화

답변

3

단지 그것이 불가능와 unclickable 만든다. 가치는 여전히 유지됩니다.

에있는 사용 중지 된 요소는 제출되지 않으므로 값을 보내지 않습니다. W3C Input disabling 가입일


:

비활성화 된 입력 요소가 불가능하고 비 - 클릭이다.

다른 속성이 충족 될 때까지 (예 : , 확인란 선택 등) 비활성화 된 속성을 설정하여 사용자가 요소를 사용하지 못하게 할 수 있습니다. 그런 다음 JavaScript가 비활성화 된 값을 제거하고 요소를 사용할 수있게 만들 수 있습니다.

팁 : 양식의 입력 요소를 사용하지 않도록 설정하면 제출되지 않습니다.

1

아니요, 입력 값이 전혀 제거되지 않습니다. 단지 입력을 접근 할 수 없게 만듭니다. ng-disabled 지시문은 전달 된 표현식을 기반으로 disabled 속성을 추가/제거합니다. 더 비전 here에 대한 ngDisabled API에서

ng-disabled="expression" 

봐. 내부적으로이 메소드 (Source Code)에서 장면 뒤의 DOM 요소에 속성을 추가/제거 할 wheather를 결정하는 attr.$set(attrName, !!value)을 호출합니다.