0

我想发送一个包含文本区域内容的请求,但我只得到一个数组而不是希望的字符串。

<textarea id="putup" name="textarea" cols="70" rows="15">http://www.example.com/?var=2EBR&n=1</textarea>

window.addEvent('domready', function() {
alert($('putup').value);
myRequest = new Request({
method: 'post',
url: 'build2.php',
}).post('var='+$('putup').value+'&uniquebutton='+$('uniquebutton').value);
});

我的帖子看起来像这样:

Array ( [var] => http://www.example.com/?var=2EBR [n] => 1 [uniquebutton] => aqynnnisqopo )

如何获得真正的字符串?

4

1 回答 1

0

您的代码很好,除了您试图在您的帖子中发送完整的网址而不对其进行编码 - 如果网址还包含参数,这可能会产生问题 - 就像在您的情况下它是 &n=1 作为帖子参数键发送的 => n value=>1 当您发送可能包含参数字符的 url 和字符串时,您需要使用 encodeURIComponent ,因此保存此 URL 的参数将包含整个 URL 并且不会破坏它:

myRequest = new Request({
    method: 'post',
    url: 'build2.php',
}).post('var='+ window.encodeURIComponent($('putup').value)+'&uniquebutton='+$('uniquebutton').value);

还有一点要说的——在 mootools 中,你可以使用 element 的 get 函数来获取任何元素的任何有效属性——所以你可以做 $('pupup').get('value') 但是经典的方法 $('putup' ).value 当然很好。

于 2013-03-24T16:06:45.920 回答