jquery - word - webkit textarea placeholder



Espaço reservado textarea HTML5 que não aparece (6)

é porque existe um espaço em algum lugar. Eu estava usando jsfiddle e havia um espaço depois da tag. Depois que eu deletei o espaço, ele começou a funcionar

https://code.i-harness.com

Não consigo descobrir o que está errado na minha marcação, mas o espaço reservado para a área de texto não será exibido. Parece que pode estar coberto por alguns espaços em branco e abas. Quando você focar na área de texto e excluir de onde o cursor se posiciona, deixe a área de texto, o espaço reservado adequado 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>

Bem, tecnicamente não precisa estar na mesma linha, desde que não haja nenhum caractere entre o final ">" da tag de início e o início "<" da tag de fechamento. Isso é que você precisa terminar com ...></textarea> como no exemplo abaixo:

<p><label>Comments:<br>
       <textarea id = "comments" rows = "4" cols = "36" 
            placeholder = "Enter comments here"
            class = "valid"></textarea>
    </label>
</p>

Este sempre foi uma pegadinha para mim e muitos outros. Em suma, as tags de abertura e fechamento do elemento <textarea> devem estar na mesma linha, caso contrário, um caractere de nova linha ocupa-o. O espaço reservado, portanto, 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:

<textarea></textarea>

Mau:

<textarea>
</textarea>

Eu sei que este post foi (muito bem) respondido por Aquarelle mas apenas no caso de alguém estar tendo este problema com outras formas de tag sem texto, como entradas eu vou deixar isso aqui:

Se você tiver uma entrada em seu formulário e o espaço reservado não estiver aparecendo porque há 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 twig para php framework symfony:

<input type="text" name="subject" value="{{ subject }}" placeholder="hello" />       <-- this is ok
<input type="text" name="subject" value" {{ subject }} " placeholder="hello" />      <-- this will not show placeholder 

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.


use <textarea></textarea> vez de deixar um espaço entre as tags de abertura e fechamento como <textarea> </textarea>


Exclua todos os espaços e quebras de linha entre as tags <textarea> abertura e fechamento </textarea> .

<textarea placeholder="YOUR TEXT"></textarea>  ///Correct one

<textarea placeholder="YOUR TEXT"> </textarea>  ///Bad one It's treats as a value so browser won't display the Placeholder value

<textarea placeholder="YOUR TEXT"> 
</textarea>  ///Bad one 




placeholder