Yii2-为不同的控制器使用两个提交按钮

时间:2018-08-14 08:40:19

标签: php button input yii2 submit

我想在表单中创建两个提交按钮。第一个按钮(我使用onInitialized)链接到Controller中的actionCreate重定向到索引。我想将第二个按钮重定向到它的形式,但是不起作用。这是我的第二个按钮:

server/src/server.ts

这是我在Controller中的actionSimpan

connection.onRequest("custom/data", param => "received parameter '" + param + "'");

我尝试了Html::submitButton,但是它不起作用。我应该怎么做才能使其正常工作?谢谢!

4 个答案:

答案 0 :(得分:0)

按钮:

<?= Html::a('<span class="glyphicon glyphicon-floppy-disk"></span>  Save', ['simpan'], ['class' => 'btn btn-primary', 'id' => 'simpan-submit-btn']) ?>

JS:

<script>
$('#simpan-submit-btn').on('click', function(e) {
  e.preventDefault();
  var submitUrl = $(this).attr('href');

  var form = $('form').eq(0); // change selector if you need
  form.attr('action', submitUrl);
  form.submit();
});
</script>

答案 1 :(得分:0)

请确保将提交按钮放置在表单标签内(使用Html :: submitButton)。

如果这不是问题,请使用以下方法检查模型是否保存:

if (!$model->save()) {
    var_dump($model->getErrors());
    die;
}

答案 2 :(得分:0)

您只需将1,000,000添加到锚中,它将自动提交表单,而无需添加任何JavaScript。将您的锚定义更改为以下定义,您将看到它开始询问表单的空输入,这意味着也会触发验证,并且在验证提交后即可。

data-method="post"

答案 3 :(得分:0)

最简单的方法是将参数传递给提交链接:

<?= Html::a(Yii::t('common', 'Export to XLSX'), Url::toRoute(['xlsx-export']), [
            'class' => ['btn', 'btn-info', 'btn-sm'],
            'data' => [
                'method' => 'get',
                'params' => \yii\helpers\ArrayHelper::toArray($modelSearch),
            ]
    ]); ?>