2011-07-26 4 views
0

私はこれを解決する方法に苦労してきました。私はインターネット上で解決策を見つけることができませんでした。PHPページに配列を渡す

このコードの一部:

var params = "nome=" + encodeURI(document.getElementById("nome").value)+ 
"&email=" + encodeURI(document.getElementById("email").value)+ 
"&telefone=" + encodeURI(document.getElementById("telefone").value)+ 
"&produto=" + encodeURI(document.getElementsByName("produto[]"))+ 
"&quantidade=" + encodeURI(document.getElementsByName("quantidade[]"))+ 
"&msg=" + encodeURI(document.getElementById("msg").value); 
xmlhttp.open("POST", url, true); 
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
xmlhttp.setRequestHeader("Content-length", params.length); 
xmlhttp.setRequestHeader("Connection", "close"); 

"はproduto" および "quantidade" は、フォームからの、アレイです。どのように私のPHPページにこの値を渡す(私は電子メール経由でコンテンツを送信する)。

は、 パウロ

+0

HTMLフォームには配列がありません。達成しようとしていることを詳しく説明してください。あなたのHTMLを見せてください。 – Hubro

+0

チェックボックスの場合は、配列としてphpに渡すことができます。 –

+0

'produto []'と 'quantidade []'という名前のフォーム要素は何ですか? –

答えて

2

serialize()機能は、あなたがこれを行う場合、私は簡単に覚えサーバー

$('[name=produto]').serialize() 

http://api.jquery.com/serialize/

+0

jqueryでフォームのシリアライズ/ ajaxあなた自身をロールバックしようとするよりも、 +1。 –

+0

これは素晴らしいことですが、シリアライズを使用するとシンプルになります!素晴らしい、私のアプリケーションは今の魅力のように働いています。返信いただきありがとうございます。 – Paulo

0

に渡す文字列にあなたの配列を向けるだろうjqueryのを使用していただきありがとうございます。 (これもjQueryのシリアライズの仕組みです)

var myArrayToPost = [1, 2, 3]; 
var postString = ""; 
for(<-- Iterate over myArrayToPost -->) { 
    postString += "MyArray[]=" + value + "&"; 
} 
<-- Post postString --> 

基本的にはポストは、このようにしたい:

"MyArray[]=FirstValue&MyArray[]=SecondValue&MyArray[]=ThirdValue" 

その後、PHPは自動的ので、あなたはそれを得ることができ$_POSTで配列にそれを置く:

$_POST['MyArray'] // which will equal 
        // array(
        // 'FirstValue', 
        // 'SecondValue', 
        // 'ThirdValue' 
        //); 
0

あなたはhttpリクエストのパラメータを渡すと、それぞれの名前はペア名=値なので、produto = 1は値が1のパラメータプロデューサです。 HTTPからの "アレイ" を取るためにあなたは、= 2 & produto = 1 & produtoのようなものを、同じ名前を持ついくつかのパラメータを構築しなければならない要求...

ミーparece queのVOCEéブラジレイロ、entãoヴァイEMポルトガル語

パーマネントリクエストのパラメータは次のとおりです。パラメータ値は1です。パラメータ値は1です。パラメータ値は次のとおりです。1.パラメータ値の比較、パラメータ値の比較、クエリの実行バリデーションヴァリアス:... produto = 1 &プロデューサー= 2 e assim por diante ...

abraços

+0

アデルマーは、シンプルな機能と機能を備えた "シリアライズ"機能を備えています。 – Paulo

+0

Nãoconhecia estasolução、creio que vou adotartambém、パウロ。 –

関連する問題