HTMLTextAreaElement
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since 2015å¹´7æ.
* Some parts of this feature may have varying levels of support.
HTMLTextAreaElement ã¤ã³ã¿ã¼ãã§ã¤ã¹ã¯ã <textarea> è¦ç´ ã®ã¬ã¤ã¢ã¦ãã表示ãæä½ããããã®ããããã£ãã¡ã½ãããæä¾ãã¾ãã
ã¤ã³ã¹ã¿ã³ã¹ããããã£
親ã¤ã³ã¿ã¼ãã§ã¤ã¹ã§ãã HTMLElement ããç¶æ¿ããããããã£ãããã¾ãã
autocomplete-
æååã§ããã®è¦ç´ ã®
autocomplete屿§ã表ããã¾ãã cols-
æ°å¤ã§ããã®è¦ç´ ã®
cols屿§ã表ãã¾ããããã¯ããã¹ãã¨ãªã¢ã®è¡¨ç¤ºä¸ã®å¹ ã示ãã¾ãã defaultValue-
æååã§ããã®ã³ã³ããã¼ã«ã®æ¢å®å¤ã表ãã¾ãã
Node.textContentããããã£ã®ããã«åä½ãã¾ãã dirName-
æååã§ããã®è¦ç´ ã®æ¸åæ¹åã表ãã¾ãã
disabled-
è«çå¤ã§ããã®è¦ç´ ã®
disabled屿§ã表ãã¾ããããã¯ããã®ã³ã³ããã¼ã«ãæä½ã§ããªãç¶æ ã示ãã¾ãã formèªåå°ç¨-
親ãã©ã¼ã è¦ç´ ã¸ã®åç §ãè¿ãã¾ãããã®è¦ç´ ããã©ã¼ã è¦ç´ é ä¸ã«ãªãå ´åãä»»æã®
<form>è¦ç´ ã®id屿§ãããã¯nullå¤ã«ãªãã¾ãã labelsèªåå°ç¨-
ãã®è¦ç´ ã«é¢é£ä»ãããã
<label>è¦ç´ ã®NodeListãè¿ãã¾ãã maxLength-
æ°å¤ã§ããã®è¦ç´ ã®
maxlength屿§ã表ãã¾ããããã¯ã¦ã¼ã¶ã¼ãå ¥åã§ããæå¤§æåæ°ã示ãã¾ãããã®å¶ç´ã¯å¤ã夿´ãããã¨ãã®ã¿è©ä¾¡ããã¾ãã minLength-
æ°å¤ã§ããã®è¦ç´ ã®
minlength屿§ã表ãã¾ããããã¯ã¦ã¼ã¶ã¼ãå ¥åã§ããæå°æåæ°ã示ãã¾ãããã®å¶ç´ã¯å¤ã夿´ãããã¨ãã®ã¿è©ä¾¡ããã¾ãã name-
æååã§ããã®è¦ç´ ã®
name屿§ã表ãã¾ãããã®ã³ã³ããã¼ã«ã®ååãå ¥ãã¾ãã placeholder-
æååã§ããã®è¦ç´ ã®
placeholder屿§ã表ãã¾ããããã¯å©ç¨è ããã®ã³ã³ããã¼ã«ã«å ¥åããã«å½ãã£ã¦ã®å©è¨ãå ¥ãã¾ãã readOnly-
è«çå¤ã§ããã®è¦ç´ ã®
readonly屿§ã表ãã¾ããã¦ã¼ã¶ã¼ããã®ã³ã³ããã¼ã«ã®å¤ã夿´ã§ããªããã¨ã示ãã¾ãã required-
è«çå¤ã§ããã®è¦ç´ ã®
required屿§ã表ãã¾ããããã¯ã¦ã¼ã¶ã¼ããã©ã¼ã ãéä¿¡ããåã«å¤ãæå®ããªããã°ãªããªããã¨ã示ãã¾ãã rows-
æ°å¤ã§ããã®è¦ç´ ã®
rows屿§ã表ãã¾ãããã®ã³ã³ããã¼ã«ã«è¡¨ç¤ºã§ããããã¹ãã®è¡æ°ã示ãã¾ãã selectionDirection-
æååã§ã鏿ãè¡ãããæ¹åã表ãã¾ããããã¯é¸æãç¾å¨ã®ãã±ã¼ã«ã§å é ããæ«å°¾ã®æ¹åã«è¡ãããå ´åã¯
forwardãéæ¹åãªãã°backwardã§ããæ¹åã䏿ã§ããã°noneã«ãªããã¨ãããã¾ãã selectionEnd-
æ°å¤ã§ã鏿ä¸ã®ããã¹ãã®çµäºä½ç½®ã表ãã¾ããããã¹ãã鏿ããã¦ããªãå ´åã¯ãå ¥åã«ã¼ã½ã«ã®æ¬¡ã®æåã®ä½ç½®ãå ¥ãã¾ããå¤ãè¨å®ããã¨ãã³ã³ããã¼ã«ã¯
setSelectionRange()ããã®å¤ã第 2 弿°ã¨ãã¦ãselectionStartã第 1 弿°ã¨ãã¦å¼ã³åºããããã®ããã«åä½ãã¾ãã selectionStart-
æ°å¤ã§ã鏿ä¸ã®ããã¹ãã®éå§ä½ç½®ã表ãã¾ããããã¹ãã鏿ããã¦ããªãå ´åã¯ãå ¥åã«ã¼ã½ã«ã®æ¬¡ã®æåã®ä½ç½®ãå ¥ãã¾ããå¤ãè¨å®ããã¨ãã³ã³ããã¼ã«ã¯
setSelectionRange()ããã®å¤ã第1弿°ã¨ãã¦ãselectionEndã第 2 弿°ã¨ãã¦å¼ã³åºããããã®ããã«åä½ãã¾ãã textLengthèªåå°ç¨-
ãã®ã³ã³ããã¼ã«ã®
valueã®ã³ã¼ããã¤ã³ãæ°ãè¿ãã¾ããvalue.lengthå¤ãèªãã®ã¨åãã§ãã typeèªåå°ç¨-
æåå
textareaãè¿ãã¾ãã validationMessageèªåå°ç¨-
ã³ã³ããã¼ã«ãæºãããªãæ¤è¨¼å¶ç´ï¼ããå ´åï¼ãè¨è¿°ãããã¼ã«ã©ã¤ãºãããã¡ãã»ã¼ã¸ãè¿ãã¾ããã³ã³ããã¼ã«ãå¶ç´æ¤è¨¼ã®åè£ã§ãªãï¼
willValidateãfalseã®ï¼å ´åãã¾ãã¯å¶ç´ãæºããã¦ããå ´åãããã¯ç©ºã®æååã¨ãªãã¾ãã validityèªåå°ç¨-
ãã®è¦ç´ ã®æ¤è¨¼ã®ç¶æ ãè¿ãã¾ãã
value-
ãã®ã³ã³ããã¼ã«å ã®çã®å¤ã表ãã¾ãã
willValidateèªåå°ç¨-
ãã®è¦ç´ ãå¶ç´æ¤è¨¼ã®å¯¾è±¡ã¨ãªããã©ãããè¿ãã¾ããä½ãå¶ç´æ¤è¨¼ã妨ããæ¡ä»¶ãããã°
falseã¨ãªãã¾ããããã«ã¯readOnlyãdisabledããããã£ã®å¤ãtrueã§ããå ´åãå«ã¿ã¾ãã wrap-
æååã§ã
wrap屿§ã表ãã¾ãããã®ã³ã³ããã¼ã«ã§ã®ããã¹ãã®æãè¿ãæ¹æ³ã示ãã¾ãã
ã¤ã³ã¹ã¿ã³ã¹ã¡ã½ãã
親ã¤ã³ã¿ã¼ãã§ã¤ã¹ã§ãã HTMLElement ããç¶æ¿ããã¡ã½ãããããã¾ãã
checkValidity()-
ãã®è¦ç´ ãå¶ç´æ¤è¨¼ã®å¯¾è±¡ã§ãããå¶ç´ãæºããã¦ããªãå ´åã¯
falseãè¿ãã¾ãããã®å ´åããã£ã³ã»ã«å¯è½ãªinvalidã¤ãã³ããã³ã³ããã¼ã«ä¸ã«çºçãã¾ãããã®ã³ã³ããã¼ã«ãå¶ç´æ¤è¨¼ã®å¯¾è±¡ã§ãªãå ´åããå¶ç´ãæºããã¦ããå ´åã¯trueãè¿ãã¾ãã reportValidity()-
ãã®ã¡ã½ããã¯ããã®è¦ç´ ã«å¶ç´ã®åé¡ãããããã°ãã¦ã¼ã¶ã¼ã«å ±åãã¾ããåé¡ãããã°ããã£ã³ã»ã«å¯è½ãª
invalidã¤ãã³ããçºçãããfalseãè¿ãã¾ããåé¡ããªããã°ãtrueãè¿ãã¾ãã select()-
ãã®ã³ã³ããã¼ã«ã®å 容ã鏿ãã¾ãã
setCustomValidity()-
ãã®è¦ç´ ã«ç¬èªã®æ¤è¨¼ã¡ãã»ã¼ã¸ãè¨å®ãã¾ãããã®ã¡ãã»ã¼ã¸ã空æååã§ãªãå ´åã¯ãè¦ç´ ã¯ç¬èªã®æ¤è¨¼ã¨ã©ã¼ã«é¥ã£ã¦ãããæ¤è¨¼ãæåãã¾ããã
setRangeText()-
ãã®è¦ç´ ã®ããã¹ãã®ããç¯å²ããæ°ããããã¹ãã§ç½®ãæãã¾ãã
setSelectionRange()-
è¦ç´ ã®ããã¹ãã®ããç¯å²ã鏿ãã¾ãï¼ãã ãããã©ã¼ã«ã¹ãä¸ãã¾ããï¼ã
ã¤ãã³ã
親ã¤ã³ã¿ã¼ãã§ã¤ã¹ã§ãã HTMLElement ããç¶æ¿ããã¤ãã³ããããã¾ãã
ãããã®ã¤ãã³ããå¾
ã¡åãããã«ã¯ addEventListener() ã使ç¨ããããã¤ãã³ããªã¹ãã¼ããã®ã¤ã³ã¿ã¼ãã§ã¤ã¹ã® onã¤ãã³ãå ããããã£ã«ä»£å
¥ããããã¦ãã ããã
selectã¤ãã³ã-
ä¸é¨ã®ããã¹ãã鏿ãããã¨ãã«çºè¡ããã¾ãã
selectionchangeã¤ãã³ã-
<textarea>è¦ç´ ã®ããã¹ã鏿ç¯å²ã夿´ãããã¨ãã«çºè¡ããã¾ãã
ä¾
>èªåæ¡å¼µããããã¹ãã¨ãªã¢ã®ä¾
å ¥åãã¦ããã¨ããã¹ãã¨ãªã¢ãèªåæ¡å¼µããããã«ãã¾ãã
JavaScript
function autoGrow(field) {
if (field.scrollHeight > field.clientHeight) {
field.style.height = `${field.scrollHeight}px`;
}
}
CSS
textarea.no-scrollbars {
overflow: hidden;
width: 300px;
height: 100px;
}
HTML
<form>
<fieldset>
<legend>ããªãã®ã³ã¡ã³ã</legend>
<p><textarea class="no-scrollbars" onkeyup="autoGrow(this);"></textarea></p>
<p><input type="submit" value="éä¿¡" /></p>
</fieldset>
</form>
HTML ã¿ã°ãæ¿å ¥ããä¾
ããã¤ãã® HTML ã¿ã°ãããã¹ãã¨ãªã¢ã«æ¿å ¥ãã¾ãã
function insert(startTag, endTag) {
const textArea = document.myForm.myTextArea;
const start = textArea.selectionStart;
const end = textArea.selectionEnd;
const oldText = textArea.value;
const prefix = oldText.substring(0, start);
const inserted = startTag + oldText.substring(start, end) + endTag;
const suffix = oldText.substring(end);
textArea.value = `${prefix}${inserted}${suffix}`;
const newStart = start + startTag.length;
const newEnd = end + startTag.length;
textArea.setSelectionRange(newStart, newEnd);
textArea.focus();
}
function insertURL() {
const newURL = prompt("ãªã³ã¯ã®å®å
¨ãª URL ãå
¥åãã¦ãã ããã");
if (newURL) {
insert(`<a href="${newURL}">`, "</a>");
} else {
document.myForm.myTextArea.focus();
}
}
const strong = document.querySelector("#format-strong");
const em = document.querySelector("#format-em");
const link = document.querySelector("#format-link");
const code = document.querySelector("#format-code");
strong.addEventListener("click", (e) => insert("<strong>", "</strong>"));
em.addEventListener("click", (e) => insert("<em>", "</em>"));
link.addEventListener("click", (e) => insertURL());
code.addEventListener("click", (e) => insert("<code>", "</code>"));
å é¨ã® span ããªã³ã¯ã®ããã«åä½ãããããè£ é£¾ãã CSS ã§ãã
.intLink {
cursor: pointer;
text-decoration: underline;
color: #0000ff;
}
<form name="myForm">
<p>
[
<span class="intLink" id="format-strong"><strong>Bold</strong></span> |
<span class="intLink" id="format-em"><em>Italic</em></span> |
<span class="intLink" id="format-link">URL</span> |
<span class="intLink" id="format-code">code</span> ]
</p>
<p>
<textarea name="myTextArea" rows="10" cols="50">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut facilisis, arcu vitae adipiscing placerat, nisl lectus accumsan nisi, vitae iaculis sem neque vel lectus. Praesent tristique commodo lorem quis fringilla. Sed ac tellus eros.
</textarea>
</p>
</form>
仿§æ¸
| Specification |
|---|
| HTML> # htmltextareaelement> |