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

コードをエンコードせずに投稿で完全なURLを送信しようとしていることを除いて、コードは問題ありません。これは、URLにパラメータも含まれている場合に問題が発生する可能性があります。たとえば、投稿パラメータキー=>として送信しているのは&n=1です。 n value => 1 params charsを含む可能性のあるURLと文字列を送信する場合は、encodeURIComponentを使用する必要があります。これにより、このURLを保持するパラメータにURL全体が含まれ、破損することはありません。

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

もう1つのちょっとした注意-mootoolsでは、uは要素のget関数を使用して任意の要素の有効なプロパティを取得できます-したがって、$('pupup')。get('value')を実行できますが、古典的な方法$('putup' ).valueはもちろん完全に問題ありません。

于 2013-03-24T16:06:45.920 に答える