Saya tidak dapat menemukan apa yang salah dengan markup saya, tetapi pengganti untuk area teks tidak akan muncul. Sepertinya itu mungkin ditutupi dengan beberapa ruang dan tab kosong. Saat Anda fokus pada area teks dan menghapus dari tempat kursor menempatkan dirinya, lalu meninggalkan area teks, placeholder yang tepat kemudian muncul.
<!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>
Jawaban:
Yang ini selalu menjadi gotcha bagi saya dan banyak lainnya. Singkatnya, tag pembuka dan penutup untuk
<textarea>
elemen harus berada di baris yang sama, jika tidak, karakter baris baru akan memenuhinya. Oleh karena itu placeholder tidak akan ditampilkan karena area input berisi konten (karakter baris baru, secara teknis, konten yang valid).Baik:
Buruk:
Pembaruan (2020)
Ini tidak benar lagi, menurut spesifikasi parsing HTML5:
Anda mungkin masih mengalami kesulitan jika editor bersikeras untuk mengakhiri kalimat dengan CRLF.
sumber
.trim
metode jQuery .$('textarea'),each(function(i) { if ($.trim($(this).text()) == '') $(this).text('').trigger('blur'); });
/>
sebagai ganti>
. Contoh:$('body').html('<textarea placeholder="test" />');
<textarea>
dalamnya berarti textarea tidak kosong, jadi, tidak ada gunanya bagi placeholder. :)Hapus semua spasi dan jeda baris antara tag
<textarea>
pembuka dan penutup</textarea>
.sumber
itu karena ada ruang di suatu tempat. Saya menggunakan jsfiddle dan ada spasi setelah tag. Setelah saya menghapus ruang itu mulai berfungsi
sumber
Yah, secara teknis tidak harus berada pada baris yang sama selama tidak ada karakter antara akhir ">" dari tag awal dan awal "<" dari tag penutup. Itulah yang harus Anda akhiri dengan
...></textarea>
seperti pada contoh di bawah ini:sumber
Saya tahu posting ini telah (sangat baik) dijawab oleh Aquarelle tetapi kalau-kalau ada orang yang mengalami masalah ini dengan bentuk tag lain tanpa teks seperti input saya akan meninggalkan ini di sini:
Jika Anda memiliki input di formulir dan placeholder tidak muncul karena spasi putih di awal, ini mungkin disebabkan oleh atribut "nilai" Anda. Jika Anda menggunakan variabel untuk mengisi nilai input, periksa bahwa tidak ada spasi putih antara koma dan variabel.
contoh menggunakan ranting untuk symfony framework php:
Dalam hal ini tag antara {{}} adalah variabel, pastikan Anda tidak meninggalkan spasi di antara koma karena spasi putih juga merupakan karakter yang valid.
sumber
gunakan
<textarea></textarea>
alih-alih menyisakan ruang antara tag pembuka dan penutup sebagai<textarea> </textarea>
sumber
Antara tag pembuka dan penutup dalam tag textarea kasus kami tidak boleh spasi atau karakter baris baru atau teks apa pun (nilai).
Jika ada spasi, karakter baris baru atau teks apa pun, itu dianggap sebagai nilai yang menimpa placeholder.
sumber
Saya memiliki masalah yang sama, hanya menggunakan
.pug
file (mirip dengan.jade
). Saya menyadari bahwa itu juga masalah ruang angkasa , mengikuti akhir kurung penutup saya. Dalam contoh saya, Anda perlu menyorot teks setelahnya(placeholder="YOUR MESSAGE")
untuk melihat:SEBELUM:
SETELAH:
sumber
Jadi, pertanyaannya sekarang adalah bagaimana kita memilih elemen textarea? XYZ, Anda akan mendapatkan:
Masalah utama adalah bahwa dalam elemen textarea kita secara tidak sengaja memilih elemen dengan spasi.
sumber