За последние 24 часа нас посетили 15733 программиста и 1664 робота. Сейчас ищут 844 программиста ...

Обработка данных от jquery.tokeninput

Тема в разделе "JavaScript и AJAX", создана пользователем maksmib, 27 мар 2011.

  1. maksmib

    maksmib Активный пользователь

    С нами с:
    27 мар 2011
    Сообщения:
    1
    Симпатии:
    0
    Приветствую, господа.
    Подскажите пожалуйста, каким образом можно обработать данные полученные от такого (http://loopj.com/jquery-tokeninput/) input'а?
    Инициализировать и заставить работать так чтобы в самом инпуте формировались вводимые пользователем данные у меня получилось.
    Код (Text):
    1. <script type="text/javascript" src="../scripts/jquery.tokeninput.js"></script>
    2. <link rel="stylesheet" href="../scripts/token-input-facebook.css" type="text/css" />
    3. <script type="text/javascript">
    4.   $(document).ready(function() {
    5.        $("#country").tokenInput("find-token.php?where=country", {
    6.          classes: {
    7.               tokenList: "token-input-list-facebook",
    8.               token: "token-input-token-facebook",
    9.               tokenDelete: "token-input-delete-token-facebook",
    10.               selectedToken: "token-input-selected-token-facebook",
    11.               highlightedToken: "token-input-highlighted-token-facebook",
    12.               dropdown: "token-input-dropdown-facebook",
    13.               dropdownItem: "token-input-dropdown-item-facebook",
    14.               dropdownItem2: "token-input-dropdown-item2-facebook",
    15.               selectedDropdownItem: "token-input-selected-dropdown-item-facebook",
    16.               inputToken: "token-input-input-token-facebook"
    17.           }
    18.    });
    19.    .....
    20. });
    21. </script>
    Файл find-token.php ищет в базе соответствующие данные и возвращает результат в формате json:
    Код (Text):
    1. $where = $_GET['where']; //получаем доп.данные, в данном случае "?where=country"
    2. $input = $_GET['q']; //здесь приходит вводимая пользователем фраза
    3. $data = array(); //массив, в котором будут формироваться возвращаемые данные
    4. //...всевозможные проверки и т.п. ...
    5. if ($where == 'country')
    6.   $query = @mysql_query('SELECT * FROM country WHERE name LIKE "%'.$input.'%"', $dblink);
    7. while ($row = @mysql_fetch_assoc($query))
    8. {
    9.   $json = array();
    10.   $json['value'] = $row['id'];
    11.   $json['name'] = $row['name'];
    12.   $data[] = $json;
    13. }
    14. header('Content-type: application/json');
    15. echo json_encode($data);
    Но после того, как данные были введены, они должны быть сохранены. Вот тут я и столкнулся с проблемой.
    Этот input находится в форме, которая после заполнения соответственно отправляется на проверку и т.д.
    Код (Text):
    1. <form method="post" action="addacceptscript.php">
    2. ....
    3. <strong>Страна:</strong> <br>
    4. <input type="text" name="country" id="country" value="" style="width:250px;" />
    5. ....
    6. </form>
    И вот если в скрипте, который обрабатывает форму (addacceptscript.php) сделать:
    print_r($_POST), получаю:
    Array ( [country] => undefined,undefined, [submit] => Подтвердить )

    Два подряд undefined'а отображаются потому, что в злощасный инпут были введены два варианта (названия двух стран)
    Как вы понимаете, проблема в "[country] => undefined,undefined".
    Почему там не определенные значения? Как мне их привести к определенному виду?