textarea가 입력 [type =“textarea”]이 아닌 이유는 무엇입니까?


153

<textarea>대신에 요소 가 <input type="textarea">있습니까?


1
그건 그렇고 <select>대신에 <input type="select">있습니다. 는 <input>단지 기본적인 입력 요소를 나타낸다. type속성은 그냥 보유하고있는 값의 유형을 나타냅니다.
BalusC

답변:


176

어쩌면 이것은 조금 뒤로 가고 있지만 ...

또한 여러 줄로 된 텍스트 필드는 실제로는 다른 유형의 사물이므로 다른 줄의 필드 ( "텍스트")와 다른 유형 (예 : "텍스트")과 다른 유형 (예 : "텍스트 영역")을 갖기를 제안하고 싶습니다. 클라이언트 측 처리.

마크 안드레 센, 1993 년 10 월 11 일


18
예, "다른 유형"은 <input type = "textarea"> blah blah \ n \ n blah </ input>을 통해 동일하게 달성 할 수 없었습니까? 왜 별개의 태그입니까?
Serhiy

8
w3c는 꽤 일관성이 있습니다. 이 W3C 전과
마크시다

10
나는 이것이 어떻게 그렇게 많이 투표했는지 궁금합니다. 문제는 'text'와 'textarea'의 차이점에 관한 것이 아니라 여러 줄 텍스트를 <input> 태그의 'type = textarea'속성이 아닌 <textarea> 태그로 포함시키는 이유입니다.
Foreever

6
@ 이것은 그것이 얻는 것과 같은 직접적인 대답에 관한 것입니다. 이 이유 textarea마크 안드레 센은 위의 인용 이유로 1993 년 10 월을 다시 제안하기 때문에 요소이다.
Marcel

5
@Marcel Marc Andreessen은 태그가 아닌 다른 유형 이 있어야한다고 제안했습니다 . 태그 속성 값이 다른 여러 유형의 입력이 있으며 모두 동일한 태그를 공유 합니다. 따라서이 인용문은이 질문에 대한 답이 아닙니다. typeinputinput
Piotr Dobrogost 2016

69

따옴표와 <> 문자를 쉽게 포함하고 공백과 줄 바꿈을 존중할 수 있습니다.

다음 HTML 코드는 w3c 유효성 검증기를 전달하고 인코딩 할 필요없이 <,> 및 &를 표시합니다. 또한 공백을 존중합니다.

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>Yes I can</title>
</head>
<body>
    <textarea name="test">
        I can put < and > and & signs in 
        my textarea without any problems.
    </textarea>
</body>
</html>

16
w3c 원산지 신화를 선호합니다.
k to z

9
텍스트 영역 요소가 CDATA을 포함하는 것으로 정의되지 않은, 당신은 여전히에 대한 사용 엔티티에 필요 <, &등 그것은 공백을 처리 할 수있는 단지 있도록합니다.
Quentin

방금 테스트했으며 텍스트 영역 내에 인코딩되지 않은 <,> 및 &를 넣을 수 있습니다. 그리고 w3c 유효성 검사기를 성공적으로 전달합니다.
기 illa Esquevin

@ ktothez : 내 대답을 참조하십시오 .
Marcel

2
여기에는 정답이 없습니다. 일반적인 삶과 마찬가지로 (즉, 상자 밖에서) 무언가 존재하는 데에는 여러 가지 이유가 있습니다.
JohnK

49

A textarea는 여러 줄의 텍스트를 포함 할 수 있으므로 value속성을 사용하여 미리 채울 수 없습니다 .

마찬가지로 하위 select요소를 수용 하려면 요소가 자체 요소 여야합니다 option.


1
valueattr 로 채울 수 없습니까? textarea어쨌든 오버플로는 크기를 조정하면 다음 줄로 줄 바꿈됩니다 .
OJFord

3
속성에 줄 바꿈을 사용할 수 없습니다
Mark Cidade

23

생성 당시 기술의 한계였습니다. 내 대답은 Programmers.SE에서 복사되었습니다 .

원본 HTML 초안 중 하나에서 :

참고 : 양식의 초기 디자인에서 여러 줄 텍스트 필드는 TYPE = TEXT 인 입력 요소에서 지원되었습니다. 불행히도 이로 인해 긴 텍스트 값을 가진 필드에 문제가 발생합니다. SGML의 기본값 (Reference Quantity Set)은 속성 리터럴의 길이를 240 자로 만 제한합니다. HTML 2.0 SGML 선언은 제한을 1024 자로 늘립니다.


6

나는 이것이 오래된 게시물이라는 것을 알고 있지만 이것이 같은 질문을 궁금해하는 사람에게는 도움이 될 것이라고 생각했습니다.

이전 답변은 의심의 여지가 없지만 텍스트 영역과 입력을 구분하는 더 간단한 이유가 있습니다.

앞에서 언급했듯이 HTML은 입력 양식을 포함하여 가능한 한 많은 웹 콘텐츠에 의미 체계를 설명하고 제공하는 데 사용됩니다. 텍스트 영역 을 입력에 사용할 있지만 텍스트 영역을 읽기 전용 특성을 통해 읽기 전용으로 표시 할 수도 있습니다. 이러한 속성의 존재는 입력 유형 및 그에 따라 의미가 없습니다 .


9
읽기 전용 속성 을 input[type="text"]사용할 수 있다는 점을 제외하고는 합리적으로 들립니다 . 어떤 점이 이상하니 이제 지적하십시오! w3.org/TR/html-markup/input.text.html#input.text.attrs.readonly
Matt
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.