PHP code example of i-avatar777 / yii2-service-form-ajax
1. Go to this page and download the library: Download i-avatar777/yii2-service-form-ajax library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
i-avatar777 / yii2-service-form-ajax example snippets
$model = new \avatar\models\validate\CabinetSchoolFilesCloudSave();
class CabinetBlogController extends CabinetBaseController
{
public function actions()
{
return [
'add' => [
'class' => '\iAvatar777\services\FormAjax\DefaultFormAjax',
'model' => '\avatar\models\forms\BlogItem',
],
];
}
}
class CabinetBlogController extends CabinetBaseController
{
public function actions()
{
return [
'add' => [
'class' => '\common\services\FormAjax\DefaultFormAdd',
'model' => '\avatar\models\forms\BlogItem',
'view' => '@avatar/views/blog/add',
],
];
}
}
public function onAfterLoadDb($field)
{
}
class Widget extends \yii\base\Widget
{
public function get_field_value()
{
$id = 'field-' . Html::getInputId($this->model, $this->attribute);
$name = Html::getInputName($this->model, $this->attribute);
return <<<JS
function (fields) {
// очищенный результат
var rows;
var serializeArray = $(formSelector).serializeArray();
// функция зачистки, учитывая что значений может быть много то алгоритм такой, прохожусь по всему массиву, если втретилось это поле то не вклчаю его в результат, остальное включаю.
for (var i=0; i < serializeArray.length; i++) {
if (serializeArray[i].name == '{name}') {
// делаю замену
rows.push({name: 'name', value: '1'});
} else {
// добавляю
rows.push(serializeArray[i]);
}
}
return rows;
}
JS;
}
}