Как добавить значение по умолчанию для html <textarea>?

Я хочу установить значение по умолчанию для моего html <textarea>. Я прочитал из материала, что для добавления значения по умолчанию вам нужно сделать что-то вроде <textarea>This is default text</textarea>. Я сделал это, но это не сработало. Какая правильная вещь?

Ответ 1

Вот мой пример jsFiddle. это прекрасно работает:

<textarea name='awesome'>Default value</textarea>

Ответ 2

Вы можете использовать placeholder Атрибут, который не добавляет значения по умолчанию но может быть то, что вы ищете:

<textarea placeholder="this text will show in the textarea"></textarea>

Проверьте здесь - http://jsfiddle.net/8DzCE/949/ enter image description here

Важное примечание (как было предложено Jon Brave в комментариях) :

Атрибут Placeholder не устанавливает значение текстового поля. Скорее "Атрибут placeholder представляет собой короткий намек (слово или короткую фразу), предназначенный для помощи пользователю с вводом данных, когда элемент управления не имеет значения" [и он исчезает, как только пользователь нажимает на текстовое поле]. Он никогда не будет действовать как "значение по умолчанию" для элемента управления. Если вы этого хотите, вы должны поместить нужный текст внутри. Вот фактическое значение по умолчанию, как и другие ответы здесь.

Ответ 3

Если вы хотите передать информацию из базы данных в тег textarea для редактирования: Входной тег не отображает данные, которые занимают несколько строк: строки нет работы, ввод тега - одна строка.

<!--input class="article-input" id="article-input" type="text" rows="5" value="{{article}}" /-->

Тэг textarea не имеет значения , но отлично работает с ручками

<textarea class="article-input" id="article-input" type="text" rows="9" >{{article}}</textarea> 

Ответ 4

На всякий случай, если вы используете Angular.js в своем проекте (как и я) и настроили ng-model для вашего <textarea>, установив по умолчанию только как:

<textarea ng-model='foo'>Some default value</textarea>

... не будет работать!

Вам нужно установить значение по умолчанию для textarea ng-model в соответствующем контроллере или использовать ng-init.

Пример 1 (с использованием 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>

Ответ 5

Когда я делаю что-то подобное, это сработало для меня:

<textarea name="test" rows="4" cols="6">My Text</textarea>

Ответ 6

Кроме того, это работало очень хорошо для меня:

<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>

В этом случае $_POST ['encode'] пришел из этого:

<input class="input_bottom btn btn-default" type="submit" name="encode" value="Encode">

Код PHP был вставлен между тегами и тегами.

Ответ 7

Несколько примечаний и пояснений:

  • placeholder='' вставляет ваш текст, но он неактивен (в формате стиля подсказки) и в момент щелчка по полю ваш текст заменяется пустым текстовым полем.

  • value='' не является атрибутом <textarea> и работает только для тегов <input>, т.е. <input type='text'> и т.д. Я не знаю, почему создатели HTML5 решили не включать это, но так, как сейчас.

  • Лучший способ вставки текста в элементы <textarea> был здесь правильно обозначен как: <textarea> Desired text to be inserted into the field upon page load </textarea> Когда пользователь нажимает на это поле, они могут редактировать текст и он остается в поле (в отличие от placeholder='').

  • Примечание. Если вы вставляете текст между тегами <textarea> и </textarea>, вы не можете использовать placeholder='', поскольку он будет перезаписан вашим вставленным текстом.

Ответ 8

Заполнитель не может установить значение по умолчанию для текстовой области. Ты можешь использовать

<textarea rows="10" cols="55" name="description"> /*Enter default value here to display content</textarea>

Это тег, если вы используете его для подключения к базе данных. Вы можете использовать другой синтаксис, если вы используете другие языки, кроме php. Для php:

например:

<textarea rows="10" cols="55" name="description" required><?php echo $description; ?></textarea>

требуемая команда минимизирует усилия, необходимые для проверки пустых полей с помощью php.

Ответ 9

Вы можете использовать this.innerHTML.

<textarea name="message" rows = "10" cols = "100" onfocus="this.innerHTML=''"> Enter your message here... </textarea>

Ответ 10

Вы также можете добавить атрибут "value" и установить его так:


<textarea value="your value"> </textarea>

Ответ 11

Обратите внимание, что если вы внесли изменения в textarea, после того, как он был отрендерен; Вы получите обновленное значение вместо инициализированного значения.

<!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>

Как вы можете видеть, значение textarea будет отличаться от текста между открывающим и закрывающим тегом беспокойства textarea.