5 に答える
技術的には、属性を使用してaをフォームform
に関連付けることができます。textarea
<form ... id="foobar">
...
</form>
...
<textarea form="foobar" ...>
これは、たとえばChromeやFirefoxでサポートされているHTML5機能ですが、IE9ではサポートされていません。
したがって、他のオプションを確認してください。主に、@ niomasterによって提案されたようにページを再編成するか、@Fluffehによって提案されたJavaScriptを使用します。ただし、基本的な機能に関しては、JavaScriptが有効になっていることに依存することはお勧めできません。ページを再編成する際には、現在のマークアップに依存する可能性のあるスタイリング(またはスクリプト)を台無しにしないように注意する必要があります。また、要素はまたli
はの子としてのみ許可されるため、現在のマークアップは無効であることに注意してください。したがって、(可能であれば)再構築することをお勧めします。ol
ul
<form ...>
最も単純な場合は、開始タグをbody
要素の先頭に移動し、</form>
終了タグを要素の終了直前に移動するだけで十分な場合がありbody
ます。その場合、ページ上のすべてのフォームフィールド要素はこのフォームのフィールドになります。
一番外側のタグを作ることができます。文書の流れは何も変わりません。
jqueryを使う
//テキストエリアからテキストを取得
var textareadata = $("#code").val();
//隠しフィールドをフォームに動的に追加する
$('form').append('<input type="hidden" name="myfieldname" value="myvalue" id='myvalue'/>');
// テキストアドテアデータを非表示フィールドに動的に書き込み、フォームに追加します
$('#myvalue').val(textareadata);
直接送信することはできません。フォームにない場合は送信できません。
あなたができる最善の方法は、「送信(画像タイプ)」アクションを置き換えるカスタムJavaScript関数を記述し、テキストフォームからフォーム内の非表示フィールドにデータをコピーしてから、フォームを最後のアクションとして送信することです。これにより、ユーザーが舞台裏で何をしているのかを実際に知らなくても、必要な結果が得られます。
編集: niomaster が正しく指摘しているように、フォームは単一<div>
または<li>
属性以上にまたがることができます。コード構造を変更せずに簡単に拡張できます。
amiregelz、
form タグに id を 1 つ追加するだけです。jquery を使用してテキスト領域の値を取得 [$("#text-areaID").val();] jquery/javascript を使用して非表示フィールドを追加し、フォームの検証後に動的に作成した非表示フィールドに値を渡しますフォームを送信します。PHPページでもテキストエリアの値を取得できます。
それがあなたを助けることを願っています。役に立ったら、回答としてマークしてください。