최신 웹 개발에서 입력 필드에 "이름" 속성을 사용하는 것이 중복됩니까?
문제
스타일링이나 스크립팅 목적으로 사용되지 않더라도 "이름" 속성이 지정된 입력 필드가 포함된 양식이 있는 웹사이트를 많이 보았습니다!
게다가에 따르면 공식 문서 HTML 문서의 양식에 대해 ...
이름 = cdata [CI] 이 속성은 요소를 스타일 시트 나 스크립트에서 참조 할 수 있도록 요소의 이름을 지정합니다.메모.이 속성은 거꾸로 호환성을 위해 포함되었습니다.응용 프로그램은 ID 속성을 사용하여 요소를 식별해야합니다.
그래서 내 질문은 다음과 같습니다.이 속성은 스타일 지정 및 스크립팅 목적으로만 사용해야 합니까?
미리 감사드립니다!
편집하다: 특히, "텍스트" 유형의 입력 필드에서 이 속성을 사용하지 않을 수 있습니까(스타일링이나 스크립팅 목적이 없는 경우)?
편집 2: 그래서 제가 생각했던 것을 거의 확인하셨습니다."이름" 속성은 향후 HTML 사양/표준에서 더 이상 사용되지 않습니다!!!???아직은 "살아있다"는 것 뿐이다 for backwards compatibility
...어떤 경우에는 피할 수 있지만 여전히 필요한 경우(예: 라디오 버튼)가 있습니다!
해결책
그만큼 name
속성은 비 Dom JavaScript를 통해 웹 페이지 범위 내에서 특정 요소를 참조하는 표기법입니다.
document.forms['your_form'].elements['aa']
그만큼 id
요소의 속성은 다음과 같은 작업에 대해 동일한 값으로 설정해야합니다.
document.getElementById('aa')
내 이해는 Netscape가 JavaScript를 만들었을 때 name
기인하다. 그러나 HTML 사양은 함께 가기로 결정했습니다 id
, 그러나 유지 name
거꾸로 호환성. Ime, 사용 name
IE의 JavaScript 엔진은 id
속성 - 만 name
둘 다 정의되었지만.
... "텍스트"유형의 입력 필드 (스타일 또는 스크립팅 목적이없는 경우) 로이 속성을 사용하는 것을 피할 수 있습니까?
텍스트 필드에 JavaScript가 첨부되지 않은 경우 예 - 불필요합니다.
다른 팁
거의 모든 사이트에 이름 속성이있는 입력이 있다고 생각합니다. 나는 그것이 곧 사라지는 것을 보지 못한다.
이름 속성은 입력 요소의 이름을 지정합니다.
이름 속성은 서버에 제출 된 후 양식 데이터를 식별하거나 클라이언트 측에서 JavaScript를 사용하여 양식 데이터를 참조하는 데 사용됩니다.
참고 : 이름 속성을 가진 양식 요소 만 양식을 제출할 때 값이 전달됩니다.
id와 name 속성에는 차이가 있습니다.ID는 HTML 문서의 모든 요소에 적용할 수 있지만 이름은 입력 필드에만 관련됩니다.ID는 표준에 따라 페이지에서 고유해야 합니다(단, 모든 웹페이지에서 반드시 따라야 하는 것은 아닙니다).그러나 다른 요소는 동일한 이름을 가질 수 있습니다.마음속에 떠오르는 특별한 경우 중 하나는 라디오 버튼입니다.모든 라디오 버튼은 동일한 이름을 가져야 하며 선택한 버튼의 값이 양식에 다시 제공됩니다.따라서 해당 이름이 HTML 양식 처리에서 여전히 중요한 의미를 갖고 있음을 알 수 있습니다.
나는 자동 HTML 양식 생성 시스템(예: zope.formlib), id 및 name 속성은 모두 다양한 유형의 입력 위젯에 대해 자동으로 생성됩니다.이러한 자동 양식 생성 시스템은 ID 및 이름 속성의 차이와 관련된 모든 미묘한 차이를 적절하게 처리합니다.또한 각 체크박스 요소에 대해 숨겨진 입력 요소를 생성하는 등의 작업도 수행합니다.그래서 가능한 한 일종의 자동 HTML 양식 생성 메커니즘을 사용하여 관련된 문제를 처리하도록 하려고 합니다.
이것은 오래된 질문이지만 많은 현대식 JS 프레임 워크가 name
기인하다. 특히 jQuery 's serialize
기능:
직렬화 된 문자열에 포함 되려면 양식 요소의 값이 포함 되려면 요소에 이름 속성이 있어야합니다.
무엇인가, name
복귀를하고있는 것 같습니다.
또한 주목할 가치가 있습니다 name
속성은 id
. id
페이지 내에서 독특해야하지만 동일합니다. name
여러 번 사용할 수 있습니다. 이렇게하면 같은 페이지에 여러 양의 양식이 있거나 체크 박스 그룹 등을 참조하려는 경우 유용합니다.
IIRC 이전 브라우저는 ID 대신 이름을 사용하므로 일반적으로 포함됩니다.