Não consigo descobrir o que há de errado com minha marcação, mas o espaço reservado para a área de texto não aparecerá. Parece que pode estar coberto com alguns espaços em branco e tabulações. Quando você se concentra na área de texto e exclui de onde o cursor se coloca, deixe a área de texto e o espaço reservado apropriado será exibido.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
</head>
<body>
<form action="message.php" method="post" id="message_form">
<fieldset>
<input type="email" name="email" id="email" title="Email address"
maxlength="40"
placeholder="Email Address"
autocomplete="off" required />
<br />
<input type="text"
name="subject"
id="subject" title="Subject"
maxlength="60" placeholder="Subject" autocomplete="off" required />
<br />
<textarea name="message"
id="message"
title="Message"
cols="30"
rows="5"
maxlength="100"
placeholder="Message" required>
</textarea>
<br />
<input type="submit" value="Send" id="submit"/>
</fieldset>
</form>
</body>
<script>
$(document).ready(function() {
$('#message_form').html5form({
allBrowsers : true,
responseDiv : '#response',
messages: 'en',
messages: 'es',
method : 'GET',
colorOn :'#d2d2d2',
colorOff :'#000'
}
);
});
</script>
</html>
Respostas:
Este sempre foi um problema para mim e para muitos outros. Em resumo, as tags de abertura e fechamento do
<textarea>
elemento devem estar na mesma linha, caso contrário, um caractere de nova linha o ocupará. Portanto, o espaço reservado não será exibido, pois a área de entrada contém conteúdo (um caractere de nova linha é, tecnicamente, um conteúdo válido).Boa:
Ruim:
Atualização (2020)
Isso não é mais verdade , de acordo com a especificação de análise do HTML5:
Você ainda pode ter problemas se o editor insistir em terminar as linhas com o CRLF.
fonte
.trim
método do jQuery .$('textarea'),each(function(i) { if ($.trim($(this).text()) == '') $(this).text('').trigger('blur'); });
/>
vez de>
. Exemplo:$('body').html('<textarea placeholder="test" />');
<textarea>
isso significa que a área de texto não está vazia; portanto, não há uso para um espaço reservado. :)Exclua todos os espaços e quebras de linha entre
<textarea>
as</textarea>
tags de abertura e fechamento .fonte
é porque existe um espaço em algum lugar. Eu estava usando jsfiddle e havia um espaço após a tag. Depois que eu apaguei o espaço, ele começou a funcionar
fonte
Bem, tecnicamente, ele não precisa estar na mesma linha, desde que não exista um caractere entre o final ">" da marca inicial e o "<" inicial na marca de fechamento. Ou seja, você precisa terminar
...></textarea>
como no exemplo abaixo:fonte
Eu sei que este post foi (muito bem) respondido por Aquarelle, mas caso alguém esteja tendo esse problema com outros formulários de tags sem texto, como entradas, deixarei isso aqui:
Se você tiver uma entrada em seu formulário e o espaço reservado não estiver sendo exibido devido a um espaço em branco no início, isso pode ser causado pelo atributo "valor". Caso você esteja usando variáveis para preencher o valor de uma entrada, verifique se não há espaços em branco entre as vírgulas e as variáveis.
exemplo usando o galho para o php framework symfony:
Nesse caso, a tag entre {{}} é a variável, apenas certifique-se de não deixar espaços entre as vírgulas porque o espaço em branco também é um caractere válido.
fonte
use em
<textarea></textarea>
vez de deixar um espaço entre as tags de abertura e fechamento como<textarea> </textarea>
fonte
Entre a tag de abertura e fechamento, no nosso caso, a tag da área de texto não deve conter espaço ou caractere de nova linha ou qualquer texto (valor).
Se houver espaço, caractere de nova linha ou qualquer texto, será considerado um valor que substitui o espaço reservado.
fonte
Eu tive o mesmo problema, apenas usando um
.pug
arquivo (semelhante a.jade
). Percebi que também era uma questão de espaço , após o final dos meus parênteses de fechamento. No meu exemplo, você precisa destacar o texto depois(placeholder="YOUR MESSAGE")
para ver:ANTES:
DEPOIS DE:
fonte
Então, a questão agora é como preenchemos o elemento textarea? XYZ, você receberá:
O principal problema é que no elemento textarea estamos pré-intencionalmente preenchendo o elemento por espaço em branco.
fonte