jQuery Tag-it! を使用しています。ユーザー向けの「スキル」入力フォームを作成します。tag-it の UI は機能していますが、ユーザー入力を PHP 配列に取得できません。この配列をシリアル化し、後で表示するために mysql データベースに保存しようとしていますが、データを配列に入れることさえできません。
tag-it を初期化する JavaScript は次のとおりです。
$('#skills').tagit({
allowSpaces: true,
placeholderText: "Separate skills with a comma please",
autocomplete: true
});
HTMLは次のとおりです。
<div>
<label class="add_label">Skills: </label>
<ul id="skills" style="width: 275px; margin-bottom: 8px;"></ul>
</div>
これは、ユーザー入力が保存されることになっている入力フィールドを作成する JavaScript です。
if (!this.options.singleField) {
var escapedValue = label.html();
tag.append('<input type="hidden" style="display:none;" value="' + escapedValue + '" name="' + this.options.fieldName + '" />');
}
そして、これはユーザー入力を取得する PHP です。これは機能していない部分です。フォームからデータを取得できません:
$skillsArr = $link->real_escape_string($_POST['skills']);
フォームを送信すると、mysqli クエリが実行され、データベースに "N;" と表示されます。シリアル化された配列があるべき場所。
jQuery Tag-it の値を、シリアル化して mysql データベースに保存できる PHP 配列に取得するにはどうすればよいですか?