Chcę ustawić wartość domyślną dla mojego HTML <textarea>
. Czytam z materiału, że aby dodać wartość domyślną, musisz zrobić coś takiego <textarea>This is default text</textarea>
. Zrobiłem to, ale to nie działa. Co należy zrobić?
349
Odpowiedzi:
Oto mój przykład jsFiddle . to działa dobrze:
źródło
Możesz użyć atrybutu zastępczego , który nie dodaje wartości domyślnej, ale może być tym, czego szukasz:
Sprawdź to tutaj - http://jsfiddle.net/8DzCE/949/
Ważna uwaga (jak zasugerował Jon Brave w komentarzach) :
Atrybut zastępczy nie ustawia wartości pola tekstowego. Raczej „Atrybut zastępczy reprezentuje krótką wskazówkę (słowo lub krótką frazę), która ma pomóc użytkownikowi we wprowadzaniu danych, gdy formant nie ma żadnej wartości” [i znika, gdy tylko użytkownik kliknie obszar tekstowy]. Nigdy nie będzie działać jako „wartość domyślna” dla kontroli. Jeśli chcesz, musisz umieścić żądany tekst w polu Oto aktualna wartość domyślna, tak jak w przypadku innych odpowiedzi tutaj
źródło
placeholder
nie ustawia wartości atextarea
. Raczej „Atrybut zastępczy reprezentuje krótką wskazówkę (słowo lub krótką frazę), która ma pomóc użytkownikowi we wprowadzaniu danych, gdy formant nie ma żadnej wartości” [i znika, gdy tylko użytkownik kliknie obszar tekstowy]. Nigdy nie będzie działać jako „wartość domyślna” dla kontroli. Jeśli chcesz, musisz umieścić żądany tekst wewnątrz<textarea>Here is the actual default value</textarea>
, zgodnie z innymi odpowiedziami tutaj.Jeśli chcesz przenieść informacje z bazy danych do znacznika textarea do edycji: Znacznik wejściowy nie wyświetla danych, które zajmują kilka wierszy: wiersze nie działają, wprowadzanie znaczników to jeden wiersz.
Tag textarea nie ma wartości , ale działa dobrze z kierownicą
źródło
Na wszelki wypadek, jeśli używasz Angular.js w swoim projekcie (tak jak ja) i masz dla siebie
ng-model
zestaw<textarea>
, ustawiając domyślną wartość wewnątrz:...nie będzie działać!
Musisz ustawić wartość domyślną na pola tekstowe
ng-model
w odpowiednim kontrolerze lub użyćng-init
.Przykład 1 (użycie
ng-init
):Pokaż fragment kodu
Przykład 2 (bez użycia
ng-init
):Pokaż fragment kodu
źródło
Kilka uwag i wyjaśnień:
placeholder=''
wstawia tekst, ale jest wyszarzony (w formacie podpowiedzi), a po kliknięciu pola tekst zostaje zastąpiony pustym polem tekstowym.value=''
nie jest<textarea>
atrybutem i działa tylko z<input>
tagami, tj.<input type='text'>
itd. Nie wiem, dlaczego twórcy HTML5 postanowili tego nie uwzględniać, ale na razie tak jest.Najlepsza metoda wstawiania tekstu do
<textarea>
elementów została tutaj poprawnie opisana jako:<textarea> Desired text to be inserted into the field upon page load </textarea>
Gdy użytkownik kliknie pole, może edytować tekst i pozostaje on w polu (w przeciwieństwie doplaceholder=''
).<textarea>
i</textarea>
, nie możesz go użyć,placeholder=''
ponieważ zostanie on zastąpiony wstawionym tekstem.źródło
Kiedy robię coś takiego, działało to dla mnie:
źródło
Ponadto działało to dla mnie bardzo dobrze:
W tym przypadku $ _POST ['encode'] pochodzi z tego:
Kod PHP został wstawiony między tagi i.
źródło
Symbol zastępczy nie może ustawić wartości domyślnej dla pola tekstowego. Możesz użyć
Jest to znacznik, jeśli używasz go do połączenia z bazą danych. Możesz użyć innej składni, jeśli używasz innych języków niż php.
na przykład:
wymagane polecenie minimalizuje wysiłek potrzebny do sprawdzenia pustych pól za pomocą php.
źródło
Możesz użyć this.innerHTML.
Gdy obszar tekstowy jest skupiony, po prostu sprawia, że innerHTML obszaru tekstowego jest pustym ciągiem.
źródło
Pamiętaj, że jeśli dokonałeś zmian w obszarze tekstowym, po jego renderowaniu; Otrzymasz zaktualizowaną wartość zamiast wartości zainicjowanej.
Jak widać, wartość pola tekstowego będzie inna niż tekst pomiędzy otwierającym i zamykającym znacznikiem pola tekstowego dotyczącego obaw.
źródło
Możesz także dodać atrybut „wartość” i ustawić go w taki sposób:
źródło
<textarea>
nie obsługujevalue
atrybutu”.