htmlのデフォルト値を設定したい<textarea>
。デフォルト値を追加するには、のようなことをしなければならないという資料を読みました<textarea>This is default text</textarea>
。私はそれをしましたが、それはうまくいきません。正しいことは何ですか?
htmlのデフォルト値を設定したい<textarea>
。デフォルト値を追加するには、のようなことをしなければならないという資料を読みました<textarea>This is default text</textarea>
。私はそれをしましたが、それはうまくいきません。正しいことは何ですか?
回答:
これが私のjsFiddleの例です。これはうまくいきます:
<textarea name='awesome'>Default value</textarea>
プレースホルダー Attributeを使用できます。これはデフォルト値を追加しませんが、あなたが探しているものかもしれません:
<textarea placeholder="this text will show in the textarea"></textarea>
ここで確認してください-http://jsfiddle.net/8DzCE/949/
重要なメモ(コメントでJon Braveが提案したとおり):
プレースホルダー属性はテキストエリアの値を設定しません。むしろ、「プレースホルダー属性は、コントロールに値がない場合のユーザーのデータ入力を支援することを目的とした短いヒント(単語または短いフレーズ)を表します」[そしてユーザーがテキスト領域をクリックするとすぐに消えます]。コントロールの「デフォルト値」として機能することはありません。それが必要な場合は、ここに他の回答と同様に、ここに実際のデフォルト値である目的のテキストを入れる必要があります
placeholder
の値を設定しないことを明確にする必要がありtextarea
ます。むしろ、「プレースホルダー属性は、コントロールに値がない場合のユーザーのデータ入力を支援することを目的とした短いヒント(単語または短いフレーズ)を表します」[そしてユーザーがテキスト領域をクリックするとすぐに消えます]。コントロールの「デフォルト値」として機能することはありません。これが必要な場合は<textarea>Here is the actual default value</textarea>
、他の回答と同様に、目的のテキストを内に配置する必要があります。
編集のためにデータベースからtextareaタグに情報を取り込みたい場合:入力タグは、複数行を占めるデータを表示しません:行は機能しません。タグ入力は1行です。
<!--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>
(私と同じように)プロジェクトでAngular.jsを使用していて、のng-model
セットがある場合に備えて<textarea>
、次のように内部にデフォルトを設定します。
<textarea ng-model='foo'>Some default value</textarea>
...動作しないでしょう!
デフォルト値をng-model
それぞれのコントローラーのtextareaに設定するか、を使用する必要がありますng-init
。
例1(を使用ng-init
):
例2(を使用しない場合ng-init
):
いくつかの注意事項と説明:
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=''
、挿入したテキストで上書きされるため使用できません。また、これは私にとって非常にうまくいきました:
<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コードがタグとタグの間に挿入されました。
プレースホルダーはテキスト領域のデフォルト値を設定できません。使用できます
<textarea rows="10" cols="55" name="description"> /*Enter default value here to display content</textarea>
これは、データベース接続に使用している場合のタグです。php.For php以外の言語を使用している場合は、別の構文を使用できます。
例えば:
<textarea rows="10" cols="55" name="description" required><?php echo $description; ?></textarea>
必須コマンドは、phpを使用して空のフィールドをチェックするために必要な労力を最小限に抑えます。
レンダリングした後、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の開始タグと終了タグの間のテキストとは異なります。
「value」属性を追加して、次のように設定することもできます。
<textarea value="your value"> </textarea>