왜 텍스트 영역이 신비로운 공백으로 채워지는가?
다음과 같은 형식의 단순한 텍스트 영역이 있습니다.
<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink">
<?php if($siteLink_val) echo $siteLink_val; ?>
</textarea>
이 텍스트 영역에 공백이 계속 남습니다.탭을 누르면 커서가 텍스트 영역 중앙에 있고 처음 부분이 아닙니다.어떤 설명입니까?
코드를 자세히 보세요.바꿈은 줄 바꿈은 , 줄 바꿈은 1톤씩, 줄 바꿈은 1톤씩, 줄 바꿈은 1톤씩, 줄 바꿈은 1톤씩, 줄 바꿈은 1톤씩, 줄 바꿈은 1톤은 있습니다.</textarea>태그 사이에 줄이 끊어지지 않도록 먼저 제거합니다.벌써 효과가 있을지도 몰라
아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아<textarea> ★★★★★★★★★★★★★★★★★」</textarea>는 텍스트 영역 상자의 기본값으로 사용됩니다.이 예에는 공백이 있습니다.그 모든 걸 없애려고 노력해봐
태그를 PHP의 바로 과 바로에 엽니다textarea 삭제:
<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink"><?php
if($siteLink_val) echo $siteLink_val;
?></textarea>
: 요대: :<textarea>는, 개시한 라인과 같은 라인상에서 즉시 닫아야 합니다.
일반적인 프랙티스: 코드 내 들여쓰기에 사용되는 줄 바꿈과 공백이 합산됩니다.
<textarea id="sitelink" name="sitelink">
</textarea>
올바른 프랙티스
<textarea id="sitelink" name="sitelink"></textarea>
기본적으로는
<textarea>something here with no spaces in the begining</textarea>
다음과 같은 코드 포맷으로 인해 미리 정의된 공백이 있는 경우 다음과 같이 입력합니다.
<textarea>.......
....some_variable
</textarea>
점으로 표시된 공간은 각 제출물에 계속 추가됩니다.
텍스트 영역 열기 및 닫기 태그 사이의 공간은 공백으로 간주됩니다.따라서 위의 코드에 대한 올바른 방법은 다음과 같습니다.
<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink"><?php if($siteLink_val) echo $siteLink_val; ?></textarea>
다른 방법은 javascript를 사용하는 것입니다.
//jquery
$('textarea#someid').html($('textarea#someid').html().trim());
//without jquery
document.getElementById('someid').innerHTML = document.getElementById('someid').innerHTML.trim();
이게 내가 한 일이야.코드에서 공백 및 줄 바꿈을 제거하면 줄이 너무 길어집니다.
나도 같은 문제를 겪고 있는데, 해결책은 아주 간단해. 새 줄부터 시작하지 마!앞의 답변 중 일부는 문제를 해결할 수 있지만, 그 아이디어는 명확하게 기술되어 있지 않다.중요한 것은 의도하지 않은 공간을 제거하기 위해 시작 태그 직후에 새 행을 시작하지 않는다는 것입니다.
다음 방법은 잘못되었으며 텍스트 내용 앞에 불필요한 공백이 많이 남습니다.
<textarea>
text content // start with a new line will leave a lot of unwanted spaces
</textarea>
올바른 방법은 다음과 같습니다.
<textarea>text content //put text content right after your start tag, no new line
</textarea>
늦은 건 알지만 다른 사람들을 도울 수도 있어.
문서 들여쓰기가 필요한 경우 에서 사용합니다.
$('document').ready(function()
{
$('textarea').each(function(){
$(this).val($(this).val().trim());
}
);
});
조금 더 깔끔하게 보이려면 3진 연산자의 사용을 고려해 주십시오.
<textarea><?=( $siteLink_val ? $siteLink_val : '' );?></textarea>
뒤에 줄 바꿈이나 공백이 없는지 확인해 주세요.여백이나 탭이 없는지 확인하기 위해서입니다.이 코드를 복사하여 붙여넣기만 하면 됩니다:) 수정했습니다.
<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink"><?php if($siteLink_val) echo trim($siteLink_val);?></textarea>
<textarea style="width:350px;
height:80px;" cols="42" rows="5" name="sitelink"
><?php if($siteLink_val) echo $siteLink_val; ?></textarea>
이동 중...> 다운이 효과적입니다.
와 닫기 태그를 같은 행으로 정의합니다.
<textarea class="form-control"
id="newText"
rows="6"
placeholder="Your placeholder here..."
required
name="newText"></textarea>
한 줄에 그 모든 것을 간단히 말하다
<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink"><?php if($siteLink_val) echo $siteLink_val; ?></textarea>
또한 텍스트 영역 태그는 여러 줄 코드에서 새 줄, 탭 등을 위한 공간을 표시합니다.
텍스트 영역 코드를 공백 없이 유지하다
게다가 여분의 공백 행이 표시되는 경우는, 메타 언어로 해결 방법이 있습니다.
<textarea>
for line in lines:
echo line.replace('\n','\r')
endfor
</textarea>
공백 행이 추가되지 않고 행이 인쇄됩니다.행의 끝이 '\n', '\r\n' 또는 ''로 끝나는지에 따라 달라집니다.적응해주세요.
태그에 실제 공간이 존재하기 때문에 텍스트 영역에는 알 수 없는 공간이 표시됩니다. <textarea> <php? echo $var; ?> </textarea>태그 사이에 이러한 추가 공간을 삭제하면 다음과 같이 문제가 해결됩니다. <textarea><php? echo $var; ?></textarea>
가 있었던 중 이다.white-space: normal;모든 공백을 제거할 수 없는 경우가 있기 때문에(예를 들어 코드가 탭, 공백 및 줄 바꿈을 추가해야 하는 코딩 가이드라인을 준수하도록 하는 경우) 텍스트 영역까지를 지정합니다.
텍스트 영역의 기본값은 적어도 크롬입니다.white-space: pre-wrap;
, '찾아보고', '찾아보다'를 연 .<?php을 사용하다
<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink"><?php // <--- newline
if($siteLink_val) echo $siteLink_val; // <--- indented, newline
?></textarea>
저는 HTML 코드와 PHP 코드가 혼재된 것에 반대합니다.
단, 이것을 시험해 보세요.
<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink">
<?php
if($siteLink_val)
echo trim($siteLink_val);
?>
</textarea>
또한 커서가 텍스트 영역의 "가운데"에 있다고 하면 CSS 어딘가에 여분의 패딩이나 텍스트 정렬: 가운데가 정의되어 있을 수도 있습니다.
먼저 $siteLink_val이 공백 공간을 값으로 반환하지 않는지 확인하십시오.기본적으로 <textarea> 요소에는 빈 값이 있기 때문에 어떤 이유로 에코하고 있는 변수에 공백이 있으면 즉시 문제가 발생합니다.
코드를 가장 깔끔하게 하기 위해 나중에 좀 더 유연하게 사용할 수 있도록 이와 같은 작업을 수행할 것을 제안합니다.변수가 존재하지 않으면 NULL을 반환하고, 그렇지 않으면 절대값을 반환하는 함수를 만들었습니다.변수의 내용을 확인했으면 다음을 수행하십시오.
function build_siteLink_val() {
if ( $siteLink_val ) {
return $siteLink_val;
}
else {
return "";
}
}
$output_siteLink_val = build_siteLink_val();
텍스트 영역의 다음 코드는 다음과 같습니다.
<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink"><?=$output_siteLink_val?></textarea>
이것은 단축된 "<?=?"에서 보듯이 PHP 설치가 단기 변수 호출용으로 구성되어 있다고 가정합니다.>" 태그.이 방법으로 출력할 수 없는 경우는, PHP 코드의 선두에 「<?php」를 붙이고, 「?」를 붙이는 것을 잊지 말아 주세요.>.
<text area>의 줄 바꿈은 오자가 발생할 수 있으므로 피하십시오.
또한 CSS를 체크하여 텍스트를 안으로 밀어넣는 패딩 규칙이 없는지 확인합니다.
또한 문자 영역에 콜 및 행 값을 지정한 다음 너비와 높이를 스타일링합니다.이러한 규칙은 역생산적이며 시각에 일관성이 없습니다.스타일을 통한 크기 정의(요소에 클래스를 지정하는 것이 좋습니다) 또는 행/콜을 계속 사용합니다.
또, 다음과 같이 합니다.
이전:
<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink">
<?php if($siteLink_val) echo $siteLink_val; ?>
</textarea>
그 후:
<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink"><?php if($siteLink_val) echo $siteLink_val; ?></textarea>
PHP의 메서드 trim()도 추가했습니다.
<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink"><?php if($siteLink_val) echo trim($siteLink_val); ?></textarea>
언급URL : https://stackoverflow.com/questions/2202999/why-is-textarea-filled-with-mysterious-white-spaces
'programing' 카테고리의 다른 글
| MariaDB는 255자의 고유 인덱스를 허용합니까? (0) | 2022.11.10 |
|---|---|
| Vue 경로가 확인되기 전에 Vuex 액세스 (0) | 2022.11.10 |
| 판다의 문서 재샘플링 (0) | 2022.11.10 |
| Gradle에게 두 개의 종속성에 대해 동일한 버전을 설정하도록 강제하려면 어떻게 해야 합니까? (0) | 2022.11.10 |
| "너무 많은 연결"을 방지하는 방법 (0) | 2022.11.10 |