1

我在表单中有一个textarea(form action = post)和这个textarea下的一个链接,用户应该填写这个textarea并单击按钮将texarea中写入的文本传输到另一个文件,我正在使用jQuery来抓取textarea 内容并将它们附加到链接的 href,这在我用长字符串测试 textarea 之前工作正常。

那么将很长的字符串发送到另一个 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

AJAX与 POST 方法一起使用:

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

您可以在 URL 中发送的字符数是有限制的。IE 网址限制

那可能是你的问题。

但是你也可以在 jquery 中使用 post

于 2012-05-02T12:33:52.030 回答