1

フォーム内にテキストエリア (フォーム アクション = ポスト) があり、このテキストエリアの下にリンクがあります。ユーザーはこのテキストエリアに入力し、ボタンをクリックして、テキストエリアに書かれたテキストを別のファイルに転送する必要があります。jQuery を使用して、テキストエリアのコンテンツをリンクのhrefに追加すると、長い文字列でテキストエリアをテストするまで、これは正常に機能していました。

非常に長い文字列を別のphpファイルに送信するための代替手段は何ですか?

ありがとう。

4

3 に答える 3

5

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

その場で新しいフォームを作成し、目的の要素をフォームに追加し、フォームを(必要な場所に)送信します

于 2012-05-02T12:33:49.640 に答える
1

POSTメソッドでAJAXを使用します:

$.ajax({
  url: "test.php",
  context: document.body
}).done(function() { 
  alert("Success");
});
于 2012-05-02T12:35:04.590 に答える
0

URL で送信できる文字数には制限があります。IE の URL 制限

それがあなたの問題だったかもしれません。

ただし、jquery で post を使用することもできます

于 2012-05-02T12:33:52.030 に答える