Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在yii2中向表单提交操作发送额外参数_Javascript_Forms_Yii2_Yii2 Advanced App - Fatal编程技术网

Javascript 在yii2中向表单提交操作发送额外参数

Javascript 在yii2中向表单提交操作发送额外参数,javascript,forms,yii2,yii2-advanced-app,Javascript,Forms,Yii2,Yii2 Advanced App,我有一个带有复选框操作列的checkin模型的网格视图 在同一个视图中,我有一个模型消息,有两个字段消息和文件输入,但我想在消息模型表单的提交按钮上再发送一个数据,这是复选框的键 我怎么能这样呢? 它只能通过javascript完成,或者还有其他技术 这是我的网格和视图代码 <div class="row"> <p> <?php $form = ActiveForm::begin(['options'=>['enctype'=>'multipar

我有一个带有复选框操作列的
checkin
模型的网格视图 在同一个视图中,我有一个模型
消息
,有两个字段
消息
文件输入
,但我想在
消息
模型表单的提交按钮上再发送一个数据,这是复选框的键

我怎么能这样呢? 它只能通过
javascript
完成,或者还有其他技术

这是我的网格和视图代码

<div class="row">
<p>
    <?php $form = ActiveForm::begin(['options'=>['enctype'=>'multipart/form-data']]); ?>

    <div class="form-group col-xs-3 col-lg-3">
        <?= $form->field($model, 'message')->textarea(['rows' => 6]) ?>
    </div>
    <div class="form-group col-xs-3 col-lg-3">
        <?= $form->field($model, 'file')->fileInput() ?>

        <div class="form-group">
        <?= Html::submitButton('Send', ['class' => 'btn btn-danger','id'=>'sendMessage']) ?>
        </div>
    </div>

    <?php ActiveForm::end(); ?>



  </p>
</div>
<div class="checkin-index">

    <h1><?= Html::encode($this->title) ?></h1>
<?php // echo $this->render('_search', ['model' => $searchModel]); ?>

 <?php Pjax::begin(['id' => 'checkin-grid', 'timeout' => false]); ?>

 <?= GridView::widget([
        'dataProvider' => $dataProvider,
        'filterModel' => $searchModel,
        'showOnEmpty'=>true,
        'columns' => [
            [
                'class' => 'yii\grid\CheckboxColumn',
            ],
            [
                'attribute' => 'user_id',
                'label' => 'Email',
                'value' => 'users.email',
            ],
            'user_type',
        ],
    ]);
 ?>
<?php Pjax::end(); ?>

您可以通过添加所需的字段来扩展消息模型

class Message extends \yii\db\ActiveRecord
{

    public $yourField;    

    public static function tableName()
    {
       ...
    }
这样,在您的模型中,您还有一个字段没有映射到数据库,您可以根据需要使用它

提交值时,提交相关操作将以这种方式管理模型

   $models = $dataProvider->getModels();
   if (Model::loadMultiple($models, Yii::$app->request->post()) && Model::validateMultiple($models)) {  

    ...... your code for models managemnt



  }

F

您是否尝试过将gridview放入表单中?@topher不,我没有尝试过,但我现在正在尝试……是的,但是我如何通过它发送gridview选中列的数据?当您提交数据时。在这种情况下,提交相关的操作应该在加载基于op POST值的多个等效函数的情况下管理模型。。。我希望这会有用
   $models = $dataProvider->getModels();
   if (Model::loadMultiple($models, Yii::$app->request->post()) && Model::validateMultiple($models)) {  

    ...... your code for models managemnt



  }