Je ne peux pas comprendre ce qui ne va pas avec mon balisage, mais l'espace réservé pour la zone de texte n'apparaîtra pas. Il semble qu'il puisse être recouvert d'espaces vides et d'onglets. Lorsque vous vous concentrez sur la zone de texte et supprimez de l'endroit où le curseur se place, puis quittez la zone de texte, l'espace réservé approprié apparaît alors.
<!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>
Réponses:
Celui-ci a toujours été un piège pour moi et beaucoup d'autres. En bref, les balises d'ouverture et de fermeture de l'
<textarea>
élément doivent être sur la même ligne, sinon un caractère de nouvelle ligne l'occupe. L'espace réservé ne sera donc pas affiché car la zone de saisie contient du contenu (un caractère de nouvelle ligne est, techniquement, un contenu valide).Bien:
Mauvais:
Mise à jour (2020)
Ce n'est plus vrai , selon la spécification d'analyse HTML5:
Cependant, vous pourriez toujours avoir des problèmes si votre éditeur insiste pour terminer les lignes avec CRLF.
la source
.trim
méthode de jQuery .$('textarea'),each(function(i) { if ($.trim($(this).text()) == '') $(this).text('').trigger('blur'); });
/>
au lieu de>
. Exemple:$('body').html('<textarea placeholder="test" />');
<textarea>
cela signifie que la zone de texte n'est pas vide, donc, il n'y a pas d'utilisation d'un espace réservé. :)Supprimez tous les espaces et sauts de ligne entre
<textarea>
les</textarea>
balises d' ouverture et de fermeture .la source
c'est parce qu'il y a un espace quelque part. J'utilisais jsfiddle et il y avait un espace après la balise. Après avoir supprimé l'espace, il a commencé à fonctionner
la source
Eh bien, techniquement, il ne doit pas être sur la même ligne tant qu'il n'y a pas de caractère entre la fin ">" de la balise de début et le début "<" de la balise de fermeture. C'est que vous devez terminer avec
...></textarea>
comme dans l'exemple ci-dessous:la source
Je sais que Aquarelle a (très bien) répondu à cet article, mais juste au cas où quelqu'un aurait ce problème avec d'autres formulaires de balises sans texte comme des entrées, je laisserai ceci ici:
Si vous avez une entrée dans votre formulaire et que l'espace réservé ne s'affiche pas en raison d'un espace blanc au début, cela peut être dû à votre attribut «valeur». Si vous utilisez des variables pour remplir la valeur d'une entrée, vérifiez qu'il n'y a pas d'espaces blancs entre les virgules et les variables.
exemple utilisant twig pour le framework php symfony:
Dans ce cas, la balise entre {{}} est la variable, assurez-vous simplement de ne pas laisser d'espaces entre les virgules car l'espace blanc est également un caractère valide.
la source
utiliser
<textarea></textarea>
au lieu de laisser un espace entre les balises d'ouverture et de fermeture comme<textarea> </textarea>
la source
Entre la balise d'ouverture et de fermeture dans notre cas, la balise textarea ne doit pas être un espace ou un caractère de nouvelle ligne ou un texte (valeur).
S'il y a un espace, un caractère de nouvelle ligne ou tout autre texte, il est considéré comme une valeur qui remplace l'espace réservé.
la source
J'ai eu le même problème, en utilisant uniquement un
.pug
fichier (similaire à.jade
). J'ai réalisé que c'était aussi un problème d'espace , après la fin de mes parenthèses fermantes. Dans mon exemple, vous devez mettre en évidence le texte après(placeholder="YOUR MESSAGE")
pour voir:AVANT:
APRÈS:
la source
Alors, la question est maintenant de savoir comment préremplir l'élément textarea? XYZ, vous obtiendrez:
Le problème principal est que dans l'élément textarea, nous préremplissons involontairement l'élément par un espace blanc.
la source