Vreau să setați o valoare implicită pentru html <textarea>
. Am citit dintr-un material care să adauge valoare implicită trebuie să faci ceva ca <textarea>Acest lucru este implicit de text</textarea>
. Am facut asa dar nu't de lucru. Ce's corect?
Puteți utiliza substituent Atributul, care nu't adăuga o valoare implicită dar ar putea fi ceea ce căutați pentru :
<textarea placeholder="this text will show in the textarea"></textarea>
Check it out aici -
[][3]Notă importantă ( Cum a sugerat de către Jon Curajos în comentarii ) :
Substituent Atribut nu setați valoarea de un textarea. Destul de "atributul substituent reprezintă un mic indiciu (un cuvânt sau o frază scurtă) destinat pentru a ajuta utilizatorul cu date de intrare atunci când controlul nu are nici o valoare" [și dispare îndată ce utilizatorul face clic în textarea]. Niciodată nu va acționa ca "valoarea implicită" pentru control. Daca vrei asta, trebuie să pui textul dorit în interiorul <textarea>Aici este reală valoare implicită
Dacă doriți pentru a aduce informații de la o bază de date într-un textarea tag-ul pentru editare: Tag-ul de intrare nu pentru a afișa date care ocupa mai multe linii: rânduri nu funcționează, tag-ul de intrare este de o singură linie.
<!--input class="article-input" id="article-input" type="text" rows="5" value="{{article}}" /-->
La textarea tag nu are valoare, dar funcționează bine cu ghidon
<textarea class="article-input" id="article-input" type="text" rows="9" >{{article}}</textarea>
Doar în cazul în care utilizați Angular.js în proiectul dumneavoastră (cum sunt eu) și au o ng-model set pentru<textarea>
, setarea implicită doar în interiorul, cum ar fi:
<textarea ng-model='foo'>Some default value</textarea>
...nu va funcționa!
Trebuie să setați valoarea implicită pentru textarea's ng-model în respectivul controller sau de a folosi
ng-init`.
Exemplu 1 (folosind 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>
Exemplu 2 (fără a utiliza 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>
De asemenea, aceasta a lucrat foarte bine pentru mine:
<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>
În acest caz, $_POST['codifica'] a venit de la asta:
<input class="input_bottom btn btn-default" type="submit" name="encode" value="Encode">
Cod PHP a fost introdus între <textarea> și
Câteva observații și precizări:
substituent=''
inserții de text, dar este de culoare gri (într-un tool-tip format de stil) și momentul în care domeniul este apasat, textul se înlocuiește cu un gol câmp de text.
valoarea=''nu este un
<textarea>atribut, și funcționează numai pentru<input> tag-uri, de exemplu,
<input tip='text'>`, etc. Eu nu't știu de ce creatorii de HTML5 decis să nu includă, dar care's este pentru acum.
Cea mai bună metodă pentru a introduce text într <textarea>
elemente a fost prezentată în mod corect aici ca: <textarea> textul Dorit a fi introdus în teren pe pagina de sarcina </textarea> Când utilizatorul face clic pe câmp, ele pot edita text și rămâne în domeniul (spre deosebire de
substituent=''`).
Notă: Dacă introduceți text între <textarea> " și " </textarea> tag-uri, nu puteți utiliza
substituent=''` ca acesta va fi suprascris de introdus textul.
Substituent nu se poate seta valoarea implicită pentru zona de text. Puteți utiliza
<textarea rows="10" cols="55" name="description"> /*Enter default value here to display content</textarea>
Acesta este tag-ul dacă îl utilizați pentru conectare la baza de date. Puteți utiliza diferite sintaxa dacă utilizați alte limbi decât php.Pentru php :
de exemplu:
<textarea rows="10" cols="55" name="description" required><?php echo $description; ?></textarea>
este necesar de comandă minimizează eforturile necesare pentru a verifica câmpuri goale folosind php.
Puteți folosi acest.innerHTML.
<textarea name="message" rows = "10" cols = "100" onfocus="this.innerHTML=''"> Enter your message here... </textarea>
Atunci când zona de text este concentrat, practic, face innerHTML de textarea un șir gol.
Vă rugăm să rețineți că, dacă ați făcut modificări la textarea, după ce acesta a avut prestate; Veți obține valoarea actualizată în loc de valoarea inițializată.
<!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>
După cum puteți vedea valoarea textarea va fi diferit decât textul în între deschidere și închidere tag-ul de îngrijorare textarea.