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