답변:
name
양식 제출에 데이터를 보낼 때 속성이 사용됩니다. 다른 컨트롤은 다르게 응답합니다. 예를 들어, id
속성은 다르지만 동일한 라디오 버튼이 여러 개있을 수 있습니다 name
. 제출되면 응답에 하나의 값 (선택한 단일 선택 단추) 만 있습니다.
물론, 그것보다 더 많은 것이 있지만, 올바른 방향으로 생각하게 할 것입니다.
id
프론트 엔드 (CSS, JS)와 함께 작동하는 것이지만 name
서버는 수신하고 처리 할 수 있습니다. 이것이 기본적으로 Greeso의 답변입니다.
양식 제출시 발생 하는 또는 호출에 사용 된 식별자이므로 name
양식 제어 (예 : <input>
및 <select>
)에 대한 속성을 사용하십시오 .POST
GET
id
CSS, JavaScript 또는 조각 식별자 로 특정 HTML 요소를 처리해야 할 때마다 속성을 사용하십시오 . 이름별로 요소를 검색 할 수도 있지만 ID로 검색하는 것이 더 간단하고 안정적 입니다.
name
와 id
전혀은. 식별자는 페이지에서 특정 HTML 요소를 고유하게 식별합니다. name
반대로 HTML 양식 요소 의 속성은 고유하지 않아도되며 라디오 단추 나 여러 <form>
요소가있는 페이지와 같이 고유하지 않아도됩니다 . 단일 HTML 요소에서 둘 다 사용되는 곳 name
과 동일한 문자열을 사용하는 것이 일반적 id
이지만 아무것도 수행하지 않습니다.
이것을 참조하십시오 http://mindprod.com/jgloss/htmlforms.html#IDVSNAME
차이점이 뭐야? 짧은 대답은 둘 다 사용하고 걱정하지 마십시오. 그러나이 구피를 이해하려면 스키니가 있습니다.
id =는 다음과 같은 대상으로 사용됩니다
<some-element id="XXX"></some-element>
.<a href="#XXX"
.name =은 양식에서 제출을 눌렀을 때 HTTP (HyperText Transfer Protocol) GET 또는 POST로 서버로 보내는 메시지의 필드 레이블을 지정하는 데에도 사용됩니다.
id =는 JavaScript 및 Java DOM (Document Object Model)에서 사용할 필드에 레이블을 지정합니다. name =의 이름은 양식 내에서 고유해야합니다. id =의 이름은 전체 문서 내에서 고유해야합니다.
서버가 동일한 문서의 다양한 양식 또는 위의 예와 동일한 양식의 다양한 단일 선택 단추에서 동일한 이름을 기대하기 때문에 name = 및 id = 이름이 다른 경우가 있습니다. id =는 고유해야합니다. 이름 =이 아니어야합니다.
JavaScript에는 고유 한 이름이 필요했지만 고유 한 name = 이름이없는 문서가 너무 많았 기 때문에 W3 사람들은 고유해야하는 id 태그를 발명했습니다. 불행히도 오래된 브라우저는 그것을 이해하지 못했습니다. 따라서 양식에 두 가지 명명 체계가 모두 필요합니다.
참고 : <a>
HTML5 에서는 일부 태그의 속성 "name" 이 지원되지 않습니다.
name
중요합니다. <input>
<form>
id
내가 생각하고 사용하는 방법은 간단합니다.
신분증 는 CSS 및 JavaScript / jQuery에 사용됩니다 (페이지에서 고유해야 함)
name 은 HTML을 통해 양식을 제출할 때 PHP에서 양식 처리에 사용됩니다 (양식에서 고유해야 함-어느 정도 아래 폴 의 의견 참조).
ID 태그-CSS에서 사용되며 고유 한 div, span 또는 기타 요소 인스턴스를 . Javascript DOM 모델 내에 표시되어 다양한 함수 호출로 액세스 할 수 있습니다.
필드의 이름 태그 -PHP / 서버 측 처리로 전달하려는 배열을 수행하지 않는 한 형식 마다 고유 합니다. Javascript를 통해 이름으로 액세스 할 수 있지만 DOM에 노드로 표시되지 않거나 일부 제한 사항이 적용될 수 있다고 생각합니다 (예를 들어 올바르게 호출하면 .innerHTML을 사용할 수 없음).
일반적으로 name은 항상 id로 대체되는 것으로 가정합니다 . 이것은 어느 정도 사실이지만 실제로는 양식 필드와 프레임 이름 에는 해당 되지 않습니다 . 예를 들어, 양식 요소의 name
경우이 속성을 사용하여 서버 측 프로그램으로 보낼 이름-값 쌍을 결정하고 제거해서는 안됩니다. Browsers do not use id in that manner
. 안전을 위해 양식 요소에 name 및 id 속성을 사용할 수 있습니다. 따라서 다음과 같이 작성합니다.
<form id="myForm" name="myForm">
<input type="text" id="userName" name="userName" />
</form>
호환성을 보장하기 위해 정의 된 이름과 id 속성 값이 일치하는 것이 좋습니다. 그러나 일부 태그, 특히 단일 선택 단추에는 고유하지 않은 이름 값이 있어야하지만 고유 한 id 값이 필요합니다. 다시 한 번, 이것은 id가 단순히 이름을 대체하는 것이 아니라는 것을 의미해야합니다. 그것들은 목적이 다릅니다. 또한 구식 접근 방식을 할인하지 마십시오. 현대 라이브러리를 자세히 살펴보면 때때로 성능 및 편의 목적으로 사용되는 구문 스타일을 보여줍니다. 목표는 항상 호환성을 선호해야합니다.
이제 대부분의 요소에서 이름 속성은 더 많은 유비쿼터스 id 속성을 위해 더 이상 사용되지 않습니다. 그러나, 일부 경우에, 특히 필드를 형성한다 ( <button>
, <input>
, <select>
, 및 <textarea>
)는 양식 제출의 이름 - 값 쌍을 설정해야하기 때문에 계속의 name 속성의 삶. 또한 프레임 및 링크와 같은 일부 요소는 이름 속성을 계속 사용할 수 있습니다. 이름 속성은 이러한 요소를 이름으로 검색하는 데 유용하기 때문입니다.
아이디와 이름 사이에는 분명한 차이가 있습니다. 종종 이름이 계속되면 값을 동일하게 설정할 수 있습니다. 그러나 id는 고유해야하며 경우에 따라 라디오 버튼을 생각해서는 안됩니다. 안타깝게도 마크 업 유효성 검사에 의해 파악 된 id 값의 고유성은 그다지 일관성이 없습니다. 브라우저에서의 CSS 구현은 id 값을 공유하는 객체의 스타일을 지정합니다. 따라서 런타임까지 JavaScript에 영향을 줄 수있는 마크 업 또는 스타일 오류를 포착하지 못할 수 있습니다.
이 책은 JavaScript- The Complete Reference by Thomas-Powell
name
에는 동일해야하며 (서버 측 코드는 제출 된 코드를 신경 쓰지 않음), id
전체 페이지에서 고유해야하므로 달라야합니다.
name
링크 대상에서는 더 이상 사용되지 않으며 HTML5에서는 유효하지 않습니다. 더 이상 최신 Firefox (v13)에서는 작동하지 않습니다. 변경 <a name="hello">
에<a id="hello">
타겟은 <a>
태그 일 필요는 없으며 , 종종 더 깨끗한 코드 인 <p id="hello"
> <h2 id="hello">
등일 수 있습니다 .
다른 게시물에서 분명히 말했듯 name
이 여전히 양식에 사용됩니다 (필요). META 태그에도 여전히 사용됩니다.
이 링크에는 동일한 기본 질문에 대한 답변이 있지만 기본적으로 id는 스크립팅 식별에 사용되고 이름은 서버 측입니다.
http://www.velocityreviews.com/forums/t115115-id-vs-name-attribute-for-html-controls.html
name Vs id
이름
<button>, <form>, <fieldset>, <iframe>,
<input>, <keygen>, <object>, <output>, <select>, <textarea>, <map>,
<meta>, <param>
name
스타일 요소에 사용되는 속성을 보았습니다 . 이것이 유효하지 않다고 생각합니까?
양식 입력 요소의 ID는 요소 내에 포함 된 데이터와 관련이 없습니다. ID는 요소를 JavaScript 및 CSS와 연결하기위한 것입니다. 그러나 name 속성은 브라우저에서 서버로 전송 한 HTTP 요청에서 value 속성에 포함 된 데이터와 연관된 변수 이름으로 사용됩니다.
예를 들어 :
<form>
<input type="text" name="user" value="bob">
<input type="password" name="password" value="abcd1234">
</form>
양식이 제출되면 다음과 같이 양식 데이터가 HTTP 헤더에 포함됩니다.
ID 속성을 추가하면 HTTP 헤더의 내용이 변경되지 않습니다. CSS와 JavaScript로 쉽게 연결할 수 있습니다.
개인적인 경험과 W3 Schools의 설명에 근거한 속성 :
ID는 전역 속성이며 HTML의 거의 모든 요소에 적용됩니다. 웹 페이지에서 요소를 고유하게 식별하는 데 사용되며 그 값은 주로 프론트 엔드에서 (일반적으로 JavaScript 또는 jQuery를 통해) 액세스됩니다.
name은 HTML의 특정 요소 (예 : 양식 요소)에 유용한 속성입니다. 그 값은 대부분 처리를 위해 백엔드로 전송됩니다.
아래는 id 속성의 흥미로운 사용법입니다. 태그 내에서 사용되며 경계 밖의 요소에 대한 양식을 식별하여 양식 내의 다른 필드에 포함되도록하는 데 사용됩니다.
<form action="action_page.php" id="form1">
First name: <input type="text" name="fname"><br>
<input type="submit" value="Submit">
</form>
<p>The "Last name" field below is outside the form element, but still part of the form.</p>
Last name: <input type="text" name="lname" form="form1">
Id : 1) 문서 객체 모델 (Javascript 또는 CSS 스타일)을 통해 HTML 요소를 식별하는 데 사용됩니다. 2) ID는 페이지 내에서 고유해야합니다.
이름은 양식 요소에 해당하며 서버에 다시 게시 된 내용을 식별합니다. 예 :
<form action="action_page.php" id="Myform">
First name: <input type="text" name="FirstName"><br>
<input type="submit" value="Submit">
</form>
<p>The "Last name" field below is outside the form element, but still part of the form.</p>
Last name: <input type="text" name="LastName" form="Myform">
ID는 요소를 고유하게 식별하는 데 사용됩니다.
이름은 양식에 사용됩니다. 양식을 제출하더라도 이름을 지정하지 않으면 제출되지 않습니다. 따라서 양식 요소는 "get or push"와 같은 양식 메소드로 식별 할 이름이 필요합니다.
그리고 이름 속성을 가진 것만 나갑니다.
는 id
당신이 요소를 읽을 수있는 ID를 사용할 수 있습니다 (자바 스크립트와 같은) 실제 코드를 쓰기 때문에 한 번, 요소에게 ID를 제공 할 것입니다. (가) name
사용자가 요소의 이름을 볼 수 있도록 단지 이름이고, 그런 것 같아요.
예:
<h1 id="heading">text</h1>
<script>
document.getElementById("heading"); //Reads the element that has the id "heading".
</script>
//You can also use something like this:
document.getElementById("heading").value; //Reads the value of the selected element.
도움이 되셨습니까? 문제가 있으면 알려주세요.
ID와 이름 사이에는 문자적인 차이가 없습니다.
name은 식별자이며 element의 value 속성에 포함 된 데이터와 연관된 변수 이름으로 브라우저에서 서버로 전송 된 http 요청에서 사용됩니다.
반면에 id는 브라우저, 클라이언트 측 및 JavaScript의 고유 식별자이므로 양식에는 id가 필요하지만 요소에는 이름이 필요합니다.
id는 고유 한 요소에 속성을 추가 할 때보다 구체적으로 사용됩니다 .DOM 메서드에서, Id는 작업을 수행하려는 특정 요소를 참조하기 위해 Javascript에서 사용됩니다.
예를 들면 다음과 같습니다.
<html>
<body>
<h1 id="demo"></h1>
<script>
document.getElementById("demo").innerHTML = "Hello World!";
</script>
</body>
</html>
name 속성으로도 같은 작업을 수행 할 수 있지만 입력 태그 또는 선택 태그와 같은 작은 양식 요소의 경우 form 및 name에 id를 사용하는 것이 좋습니다.