2012-05-11 4 views
0

JSONを使用して複数の値をこのように取得するにはどうすればよいですか?これをJSONに変更するにはどうすればよいですか?

foreach($_POST['listItem'] as $key => $values){ 

    list($eventDate, $eventTitle) = $values; 

} 

現時点では、値は次のように送信されます。しかし、文字列の一部しか送信していないので、これは正しく動作するようには見えません。私はまた、caltitleの値をどこに送るべきかを把握することもできません。

これは私を狂ったようにしています。どんな助けも素晴らしいだろう。

var txt = $("#listbox"); 

      var caltitle = copiedEventObject.title 

      var dtstart = $.fullCalendar.formatDate(copiedEventObject.start, 'yyyyMMdd'); 

      var txt = $('#listbox');  
      txt.append("<li class ='listItem'> " + dtstart + "</li>") 

      // remove the element from the "Draggable Events" list 
      $(this).remove();   

     } 
    }); 


     $('#calendarform').submit(function(e) { 
      var form = $(this); 
      var listItems = $('.listItem'); 
      listItems.each(function(index){ //For each event do this: 
       var listItem = $(this); 
        $("<input type='hidden'/>").val(listItem.text()).appendTo(form).attr('name', 'listItem[' + index + ']'); 
       }); 

      //Get text information from elements 

     }); 

EDIT:(JSONを使用して)

$('#calendarform').submit(function(e) { 
      var form = $(this); 

      var going_to_be_json = []; 
      list.each(function(i, item) { 
       going_to_be_json.push({ 
       'id':'test', 
       'title': 'test' 
       }); 
      }); 

      $('#stuff').val(JSON.stringify(going_to_be_json)); 

    }); 
+0

....コピーして、私が持っていたもの貼り付けると、あなたが読んで、それをやっているかを理解しようとしません期待していましたか?それは配列か文字列ですか? jQueryコードはどのように役立ちますか? – shadyyx

+0

さて、私は配列を作ろうとしています。基本的には、アクションページのforeachに入るために必要な日付とタイトルがあります。私はそれらの両方を取得するために隠された入力を修正する必要があります、私はそれを動作させることはできません。 –

+1

'' .attr( 'name'、 'listItem []')); ''で '' index''変数を使う必要はありません。このようにしてください。 – Valour

答えて

1
を送ることができますPHPでそれをフェッチ

オブジェクトの配列にデータを準備し、その配列をJSON.stringify()を使用してJSONに変換し、隠しフォームva (またはXHRを使用してサーバーに送信します)。ここで

は、データを準備する方法の非常に限られた例です。

var going_to_be_json = []; 
list.each(function(i, item) { 
    going_to_be_json.push({ 
    'id':item.id, 
    'title': item.title, 
    'date': (new Date()).now() 
    }); 
}); 
hidden_form_element.val(JSON.stringify(going_to_be_json)); 

と、サーバー上の

<?php 
$json_data_string = $_POST['hidden_form_field_containing_json_data']; // sanitize however 
$array_data = json_decode($json_data_string); 

詳細はjson.orgthe Tag WikiからJSON(JavaScriptオブジェクト表記)についての準備ができます(ただし、タグwikiはもっと多くの例とリンクを示しています)

もう少しの方向性が必要なようです。私はあなただけでforeachの中に `$ values`変数がどのように見えるか

$('#calendarform').submit(function(e) { 
     var form = $(this), 
      listItems = $('.listItem'), 
      data = [], 
      hidden = $('<input />'); // create a hidden field for the form. 
            // or just select the hidden form element from the page 
     hidden[0].type = 'hidden'; // set the type 
     hidden[0].name = 'some_name_for_php_to_recognize'; // and name 

     listItems.each(function(i,el){ 
      data.push({'index': i, 'text': $(el).text()}); 
     }); 

     hidden.val(JSON.stringify(data)); 
     $(this).append(hidden); // not needed if the hidden element is already in the DOM 

    }); 
+0

何も送ってもらえませんでしたか?私はちょうど 'ID:'テスト '、 –

+0

あなたはどのようにデータを提出している送信しようとしている? – rlemon

+0

私はコードで質問を編集しました。フォームの隠しフィールドには 'stuff'というIDがあります。 –

0

は、jQueryのポストでそれを送信したりする方法を取得し、あなたが複数の値に 使用$.postまたは$.get

関連する問題