Автозаполнение значений или массива, разделенных запятыми - PullRequest
1 голос
/ 24 января 2012

Так что теперь, когда у меня работает автозаполнение ... Я хочу, чтобы моя форма фактически POST вводила значения.Поэтому в настоящее время, если я просто запускаю search.php, я получаю следующее:

{"label": "Henry Gale", "value": "henrygale@gmail.com"}, {"label": "Эми Герджес "," value ":" amy@yahoo.com "}, и список можно продолжить.

Так как поиск работает правильно.Теперь я хочу 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" />

Так что, если я получаю эхо от $ _POST ['contacts'], я получаю слово: Array

Я делаю что-то не так, просто не знаю, что... Так как мои входные данные получают список разделенных запятыми писем (значение), как я могу опубликовать их, чтобы они были в массиве, чтобы я мог что-то делать с электронными письмами (запустить их через проверки формата, вставить их в базу данных mysql,и т.д.).

1 Ответ

0 голосов
/ 24 января 2012

Почему ваш атрибут <input> name равен "contacts[]"?Если вы намереваетесь создать массив PHP из введенных элементов данных, вам нужно будет сделать это на стороне сервера - простой JavaScript и HTML не могут обработать создание массива PHP для вас.

Я не уверен на 100%, как работает jQuery Автозаполнение, но из вашего кода это выглядит так, как будто он позволяет пользователю выбирать до 8 элементов из списка автозаполнения (я могу ошибаться).В любом случае, поскольку вы говорите, что будете получать список разделенных запятыми писем в качестве входных данных, вам придется разделять их на сервере и проверять каждое письмо отдельно.Вы можете разделить их, используя функцию PHP explode().После проверки вы можете добавить элементы результирующего массива в БД.

Я бы изменил параметр name в <input> на что-то вроде "email_list_string".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...