我有一個非常簡單的html/php代碼。它只有一個textarea和一個發送按鈕。HTML發佈刪除換行符
在textarea中,我有一個文本,在文本的開頭有3個新行。我需要這些換行符。
之後,當我提交表單時,出於某種原因,它在文本開始時的換行符是1。當我再次發送它時,它會再次執行,刪除換行符,而內容的開頭不是文本。
爲什麼會發生? 我用FF,Chrome,Safari,Oprea,IE試用過它,結果相同。
您可以使用此代碼測試:
<?php
if (empty($_POST["operation"])) {
//Init the textarea value if form not submitted
$_POST["message"] = "\r\n\r\n\r\nThis is\r\na multiline text";
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Multiline test</title>
<meta charset="UTF-8" />
</head>
<body>
<form method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
<textarea style="width: 200px; height: 150px;" name="message"><?php echo $_POST["message"]; ?></textarea>
<input type="submit" value="send" />
<input type="hidden" name="operation" value="send" />
</form>
</body>
您應該儘可能考慮使用CSS來定位消息。這可能也會更容易。 – suspectus
當換行符之前的第一個字符是f.e時,它不會發生。空間。我不知道爲什麼會發生這種情況,並且在快速瀏覽後無法在HTML規範中找到任何信息。你可以通過編寫你的PHP echo語句來填充textarea到下一行的開頭來防止這種情況。 – CBroe
css不是一個選項。這是一個模塊,當你想回復一條消息。我想添加3個新行來分隔引用的消息。 – vaso123