2012-01-24 8 views
1

これで私はオートサジェストを稼働させました。フォームを実際のPOST値に入力したいと思います。現在、search.phpを実行すると、次のように表示されます。オートコンプリートコンマで区切られた値または配列

{"label": "Henry Gale"、 "value": "[email protected]"} {"label": "Amy Gerges "、" value ":" [email protected] "}を入力してリストを表示します。

検索が適切に機能しているためです。さて、フォームの入力フィールドに置いた値だけをPOSTしたいと思います。私は現在持っている:私は[「連絡先」] $ _POSTのエコーをすれば

<script> 
$(document).ready(function() { 
    $("#autocomp").autoSuggest("search.php", { 
     minChars: 2, 
     selectedItemProp: "label", 
     searchObjProps: "label", 
        selectedValuesProp: "value", 
     selectionLimit: 8, 
     formatList: function(data, elem){ 
      var my_image = data.image ; 
      var my_label = data.label; 
      var new_elem = elem.html(my_image + my_label); 
      return new_elem;} 
    }); 
}); </script> <input name="contacts[]" type="text" id="autocomp" maxlength="35" /> 

は、だから私は単語を得る:配列

は私がわからないだけで、何か間違ったことをやっている...ので、私の入力はコンマで区切られた電子メール(値)のリストを取得します。どのように配列に格納することができますか?電子メールで(フォーマットチェックを実行し、mysql dbに挿入するなど)

+0

実際にあなたのPOST-ingを行っている部分は例には載っていないので、わかりにくい部分です。しかし、私はあなたが$ _POST ['contacts']をJSON.stringify(contacts)と同じように設定するより、オブジェクトを$ _POST ['contacts']にポストしていると思います。 – dsummersl

答えて

0

nameの属性が"contacts[]"と等しいのはなぜですか?入力されたデータ項目からPHP配列を作成する場合は、サーバーサイドで行う必要があります。単純なJavaScriptとHTMLはPHP配列の作成を処理できません。

私は100%確実ではありません。jQuery Autosuggestは機能しますが、コードからは自動補完リストから8個までのアイテムを選択できます(間違っている可能性があります)。いずれにしても、カンマで区切られた電子メールのリストを入力として取得することになるため、サーバー上で電子メールを区切り、それぞれの電子メールを個別に検証する必要があります。 PHP explode()関数を使用してそれらを区切ることができます。検証後、結果の配列の要素をDBに追加できます。

nameのパラメータを<input>に変更すると、"email_list_string"のようになります。

関連する問題