jquery - tamaño - Marcador de posición de texto HTML5 no aparece
obtener el valor de un atributo jquery (7)
Bueno, técnicamente no tiene que estar en la misma línea, siempre y cuando no haya un carácter entre la terminación ">" de la etiqueta de inicio y el comienzo "<" de la etiqueta de cierre. Es necesario terminar con ...></textarea>
como en el siguiente ejemplo:
<p><label>Comments:<br>
<textarea id = "comments" rows = "4" cols = "36"
placeholder = "Enter comments here"
class = "valid"></textarea>
</label>
</p>
No puedo averiguar qué está mal con mi marcado, pero el marcador de posición para el área de texto no aparecerá. Parece como si pudiera estar cubierto con algunos espacios en blanco y pestañas. Cuando se centra en el área de texto y elimina desde donde se coloca el cursor, abandone el área de texto y aparecerá el marcador de posición adecuado.
<!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>
Entre la etiqueta de apertura y la de cierre en nuestro caso, la etiqueta textarea no debe ser espacio, carácter de nueva línea ni texto (valor).
Si hay espacio, carácter de nueva línea o cualquier texto, se considera como valor que anula el marcador de posición.
**PlaceHolder Appears**
<textarea placeholder="Am Default Message"></textarea>
**PlaceHolder Doesn''t Appear**
<textarea placeholder="Am Default Message"> </textarea>
<textarea placeholder="Am Default Message">
</textarea>
<textarea placeholder="Am Default Message">Something</textarea>
Este siempre ha sido un gotcha para mí y para muchos otros. En resumen, las etiquetas de apertura y cierre para el elemento <textarea>
deben estar en la misma línea, de lo contrario, un carácter de nueva línea lo ocupa. Por lo tanto, el marcador de posición no se mostrará ya que el área de entrada contiene contenido (un carácter de nueva línea es, técnicamente, contenido válido).
Bueno:
<textarea></textarea>
Malo:
<textarea>
</textarea>
Tuve el mismo problema, solo usando un archivo .pug
(similar a .jade
). Me di cuenta de que también era un problema de espacio , después del final de mi paréntesis de cierre. En mi ejemplo, debe resaltar el texto después (placeholder="YOUR MESSAGE")
para ver:
ANTES DE:
form.form-horizontal(method=''POST'')
.form-group
textarea.form-control(placeholder="YOUR MESSAGE")
.form-group
button.btn.btn-primary(type=''submit'') SUBMIT
DESPUÉS:
form.form-horizontal(method=''POST'')
.form-group
textarea.form-control(placeholder="YOUR MESSAGE")
.form-group
button.btn.btn-primary(type=''submit'') SUBMIT
es porque hay un espacio en alguna parte. Estaba usando jsfiddle y había un espacio después de la etiqueta. Después de eliminar el espacio, comenzó a funcionar
use <textarea></textarea>
lugar de dejar un espacio entre las etiquetas de apertura y cierre como <textarea> </textarea>
Elimine todos los espacios y saltos de línea entre las etiquetas <textarea>
abrir y cerrar </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