Saya ingin mengatur nilai default untuk saya html <textarea>
. Saya baca dari sebuah bahan yang untuk menambah nilai default anda harus melakukan sesuatu seperti <textarea>Ini adalah default teks</textarea>
. Saya melakukan itu tapi itu doesn't bekerja. Apa's hal yang benar untuk dilakukan?
Anda dapat menggunakan pengganti Atribut, yang doesn't menambahkan nilai default tapi mungkin apa yang anda cari untuk :
<textarea placeholder="this text will show in the textarea"></textarea>
Check it out di sini -
[][3]Catatan penting ( Seperti yang disarankan oleh Jon Berani di komentar ) :
Atribut Placeholder tidak mengatur nilai dari textarea. Agak "atribut placeholder merupakan petunjuk singkat (kata-kata atau kalimat pendek) dimaksudkan untuk membantu pengguna dengan data entry ketika kontrol tidak memiliki nilai" [dan menghilang segera setelah pengguna mengklik ke dalam textarea]. Itu tidak akan pernah bertindak sebagai "nilai default" untuk kontrol. Jika anda ingin, anda harus menempatkan teks yang diinginkan di dalam <textarea>Berikut ini adalah sebenarnya nilai default
Jika anda ingin membawa informasi dari database ke textarea tag editing: Masukan tag untuk tidak menampilkan data yang menempati beberapa baris: baris tidak bekerja, tag input adalah satu baris.
<!--input class="article-input" id="article-input" type="text" rows="5" value="{{article}}" /-->
Textarea tag tidak memiliki nilai, tetapi bekerja dengan baik dengan setang
<textarea class="article-input" id="article-input" type="text" rows="9" >{{article}}</textarea>
Hanya dalam kasus jika anda menggunakan Angular.js dalam proyek anda (seperti saya) dan memiliki ng-model
set untuk anda <textarea>
, pengaturan default hanya dalam seperti:
<textarea ng-model='foo'>Some default value</textarea>
...tidak akan bekerja!
Anda perlu mengatur nilai default untuk textarea's ng-model
di masing-masing controller atau menggunakan ng-init
.
Contoh 1 (menggunakan ng-init
):
var myApp = angular.module('myApp',[]);
myApp.controller('MyCtrl', [ '$scope', function($scope){
// your controller implementation here
}]);
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>
<meta charset="utf-8">
<title>JS Bin</title>
</head>
<body ng-app='myApp'>
<div ng-controller="MyCtrl">
<textarea ng-init='foo="Some default value"' ng-model='foo'></textarea>
</div>
</body>
</html>
Contoh 2 (tanpa menggunakan ng-init
):
var myApp = angular.module('myApp',[]);
myApp.controller('MyCtrl', [ '$scope', function($scope){
$scope.foo = 'Some default value';
}]);
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>
<meta charset="utf-8">
<title>JS Bin</title>
</head>
<body ng-app='myApp'>
<div ng-controller="MyCtrl">
<textarea ng-model='foo'></textarea>
</div>
</body>
</html>
Juga, ini bekerja sangat baik bagi saya:
<textarea class="form-control" rows="3" name="msg" placeholder="Your message here." onfocus='this.select()'>
<?php if (isset($_POST['encode'])) { echo htmlspecialchars($_POST['msg']);} ?>
</textarea>
Dalam hal ini, $_POST['encode'] datang dari ini:
<input class="input_bottom btn btn-default" type="submit" name="encode" value="Encode">
Kode PHP disisipkan antara <textarea> dan
Beberapa catatan dan klarifikasi:
placeholder=''
sisipan teks anda, tetapi berwarna abu-abu (dalam alat-tip gaya format) dan saat ini bidang diklik, teks digantikan oleh teks kosong lapangan.
nilai=''
bukan <textarea>
atribut, dan hanya bekerja untuk <input>
kategori, yaitu, <input type='text'>
, dll. Saya don't tahu mengapa pencipta HTML5 memutuskan untuk tidak memasukkan itu, tapi yang's cara itu untuk sekarang.
Metode terbaik untuk memasukkan teks ke <textarea>
unsur-unsur yang telah diuraikan dengan benar sebagai berikut: <textarea> teks yang Diinginkan untuk dimasukkan ke lapangan pada halaman beban </textarea>
Ketika pengguna mengklik lapangan, mereka dapat mengedit
teks dan tetap di lapangan (tidak seperti placeholder=''
).
Catatan: Jika anda memasukkan teks antara <textarea>
dan </textarea>
tag, anda tidak dapat menggunakan placeholder=''
karena akan ditimpa oleh yang disisipkan teks.
Placeholder tidak dapat mengatur nilai default untuk text area. Anda dapat menggunakan
<textarea rows="10" cols="55" name="description"> /*Enter default value here to display content</textarea>
Ini adalah tag jika anda menggunakannya untuk koneksi database. Anda dapat menggunakan sintaks yang berbeda jika anda menggunakan bahasa lain selain bahasa php.Untuk php :
misalnya:
<textarea rows="10" cols="55" name="description" required><?php echo $description; ?></textarea>
diperlukan perintah meminimalkan upaya yang diperlukan untuk memeriksa bidang kosong dengan menggunakan php.
Anda dapat menggunakan ini.innerHTML.
<textarea name="message" rows = "10" cols = "100" onfocus="this.innerHTML=''"> Enter your message here... </textarea>
Ketika teks area fokus, itu pada dasarnya membuat innerHTML dari textarea string kosong.
Harap dicatat bahwa jika anda membuat perubahan pada textarea, setelah itu telah diberikan; Anda akan mendapatkan nilai diperbarui, bukan dari nilai diinisialisasi.
<!doctype html>
<html lang="en">
<head>
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script>
$(function () {
$('#btnShow').click(function () {
alert('text:' + $('#addressFieldName').text() + '\n value:' + $('#addressFieldName').val());
});
});
function updateAddress() {
$('#addressFieldName').val('District: Peshawar \n');
}
</script>
</head>
<body>
<?php
$address = "School: GCMHSS NO.1\nTehsil: ,\nDistrict: Haripur";
?>
<textarea id="addressFieldName" rows="4" cols="40" tabindex="5" ><?php echo $address; ?></textarea>
<?php echo '<script type="text/javascript">updateAddress();</script>'; ?>
<input type="button" id="btnShow" value='show' />
</body>
</html>
Anda dapat melihat nilai dari textarea akan berbeda dari teks di antara pembukaan dan penutupan tag perhatian textarea.