フォーム内にテキストエリア (フォーム アクション = ポスト) があり、このテキストエリアの下にリンクがあります。ユーザーはこのテキストエリアに入力し、ボタンをクリックして、テキストエリアに書かれたテキストを別のファイルに転送する必要があります。jQuery を使用して、テキストエリアのコンテンツをリンクのhrefに追加すると、長い文字列でテキストエリアをテストするまで、これは正常に機能していました。
非常に長い文字列を別のphpファイルに送信するための代替手段は何ですか?
ありがとう。
フォーム内にテキストエリア (フォーム アクション = ポスト) があり、このテキストエリアの下にリンクがあります。ユーザーはこのテキストエリアに入力し、ボタンをクリックして、テキストエリアに書かれたテキストを別のファイルに転送する必要があります。jQuery を使用して、テキストエリアのコンテンツをリンクのhrefに追加すると、長い文字列でテキストエリアをテストするまで、これは正常に機能していました。
非常に長い文字列を別のphpファイルに送信するための代替手段は何ですか?
ありがとう。
$.post を使用します。POST データのサイズ制限はありません。
ただし、リンクの動作 (ターゲット ページを開く) が必要な場合は、フォームが必要になります。
簡単なアプローチ:
<script type="text/javascript">
/**
* @param o mixed selector/element to send
* @param a string url to send to
* @param m optional string HTTP-method (default: 'post')
* @param t optional string target-window(default: '_self')
**/
function fx(o,a,m,t)
{
$('<form/>')
.attr({action:a,method:m||'post',target:t||'_self'})
.css('display','none')
.append($(o).clone())
.appendTo('body')
.submit()
.remove();
}
</script>
<form>
<input name="foo">
<textarea id="textareaId" name="bar">foobar</textarea>
<a style="cursor:pointer;text-decoration:underline"
onclick="fx('#textareaId','some.php')">send only the textarea</a>
</form>
その場で新しいフォームを作成し、目的の要素をフォームに追加し、フォームを(必要な場所に)送信します
POSTメソッドでAJAXを使用します:
$.ajax({
url: "test.php",
context: document.body
}).done(function() {
alert("Success");
});