2014-11-12 2 views
0

Я использую Jquery Tag it, и я хотел бы сохранить введенный тег в свою БД.Тег - сохранение нескольких значений ввода в одном POST

В HTML

<ul id="myTags" name="myTags"></ul> 

Когда я вошел в новый тег, он будет автоматически генерировать все генерируемый <input hidden> такой же имени = «метка» только значение в <li> и <input hidden>, Но различны, тогда когда я $_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"); 
    } 
} 

ответ

1

попробовать

$("#myTags").tagit({ 
    fieldName: "tags[]" 
}); 
+0

да это 'print_r' правильно ... но это массив теперь ... как сохранить массив в БД? потому что теперь я получаю это сообщение от браузера ** Массив для преобразования строк ** – TheSmile

+0

опубликует вашу команду sql вставки. – itachi

+0

отправил ... im используя yii framework – TheSmile

0

Try ниже код:

//jquery code, on form submit 
$('#form-id').submit(function(){ 

    var allTags = '' 
    $('input:[name=tags]').each(function(){ 
     allTags += "," + $(this).val(); 
    }); 

    allTags = allTags.substr(1); 

}); 
0

Try name="tags[]" в вашем <input hidden> теге.

В основном создать массив скрытой переменной в HTML с таким же именем, как name="tags[]"

Итак, когда вы получаете теги $_POST, то это возвращение теги массив из $_POST['tags']

+0

как я упоминаю 'input hidden' автоматически генерируют – TheSmile

+0

то, что вы пишете в' print_r' для печати тегов ?? – kupendra

0

просто показать демо использовать этот код и запустить браузер

<?php 
 

 
if(isset($_REQUEST['submit'])) 
 
{ 
 
\t 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>

имя использование также массив

<li><input type="hidden" value="...any value ...." name="tags[]" /></li>

Смежные вопросы