テキストエリアの最初の行だけを URL に渡す方法は知っていますが、ユーザーが挿入したすべての行を URL に渡すことは可能ですか?おそらく JavaScript が必要になるでしょう。
<form id="form1" action="http://site.com/" target="_blank">
<textarea rows="5" name="abc"></textarea>
<button type="submit">Submit</button>
</form>
テキストエリアの最初の行だけを URL に渡す方法は知っていますが、ユーザーが挿入したすべての行を URL に渡すことは可能ですか?おそらく JavaScript が必要になるでしょう。
<form id="form1" action="http://site.com/" target="_blank">
<textarea rows="5" name="abc"></textarea>
<button type="submit">Submit</button>
</form>
クエンティンは正しいです。コードはすでにtextarea
要素のテキスト全体を渡しています。
はsite.com
、余分なコンテンツを削除します。
変更してみてください
action="http://site.com"
に
action="http://localhost"
%0D%0A
またはこのようなもので、コンテンツ全体が URL エンコーディングのために行が区切られて渡されることに気付くでしょう。
%0D
のためcarriage return
にあり、%0A
のためにあるline feed
そのため、実際にデータを受け取るページで、それに応じてデータを解析する必要があります。
これはjQueryを使用した私の試みです:
HTML
<form action="http://site.com" action="get" target="_blank">
<textarea rows="10" cols="30"></textarea>
<input type="button" value="go" id="btn_go" />
</form>
<div></div>
JS
$(function () {
$("#btn_go").click(
function () {
var txt = "line1=" + $("textarea").val();
var lines = txt.split(/\r|\r\n|\n/);
var count = lines.length;
for (i = 0; i < count; i++) {
txt = txt.replace("\n", "&line" + (i + 2) + "=");
}
$("div").html(txt);
window.location.href = $("form").attr("action") + "?" + txt;
});
});