我正在使用Jquery Tag it,我想将输入的标签保存到我的数据库中。
在HTML中
<ul id="myTags" name="myTags"></ul>
当我输入新标记时,它会自动生成<li>
和<input hidden>
,
但所有生成的<input hidden>
都是相同的名称=&#34;标记&#34; 只有值不同,那么当我$_POST
时尝试print_r
,结果只是我输入的最后一个值。
我如何获得所有价值?还是其他任何好的建议?感谢
public function actionSubmit(){
$token = $_POST['YII_CSRF_TOKEN'];
if ($token !== Yii::app()->getRequest()->getCsrfToken()){
Yii::app()->end();
}
$app_id = Yii::app()->user->getState('app_id');
$tags = $_POST['tags'];
$model = Games::model()->findByAttributes(array('id'=>$app_id));
$model->keywords = $tags;
$model->save();
if($model->save()){
print_r("ok");
}else{
print_r("no");
}
}
答案 0 :(得分:1)
尝试
$("#myTags").tagit({
fieldName: "tags[]"
});
答案 1 :(得分:0)
尝试以下代码:
//jquery code, on form submit
$('#form-id').submit(function(){
var allTags = ''
$('input:[name=tags]').each(function(){
allTags += "," + $(this).val();
});
allTags = allTags.substr(1);
});
答案 2 :(得分:0)
在name="tags[]"
标记中尝试<input hidden>
。
基本上在HTML中创建隐藏变量数组,其名称与name="tags[]"
因此,当您从$_POST
获取标记时,它会从$_POST['tags']
返回标记数组
答案 3 :(得分:0)
只显示演示使用此代码并运行浏览器
<?php
if(isset($_REQUEST['submit']))
{
print_r( $_POST['tags'] );
}
?>
<body>
<form method="post">
<ul id="myTags" name="myTags" style="list-style:none;">
<li><input type="hidden" value="1" name="tags[]" /></li>
<li><input type="hidden" value="2" name="tags[]" /></li>
<li><input type="hidden" value="3" name="tags[]" /></li>
<li><input type="hidden" value="4" name="tags[]" /></li>
<li><input type="hidden" value="5" name="tags[]" /></li>
</ul>
<input type="submit" name="submit" value="submin" />
</form>
</body>
&#13;
使用名称也是数组
<li><input type="hidden" value="...any value ...." name="tags[]" /></li>
&#13;