<?php $form = ActiveForm::begin([ 'options' => [ 'onsubmit' => "getElementById('dosubmit').disabled=true;return true;" ], 'fieldConfig' => [ 'template' => "<div class='row'><div class='col-sm-2 text-right'>{label}</div><div class='col-sm-10'>{input}\n{hint}\n{error}</div></div>", ], ]); ?> 这段代码没有禁用提交按钮是什么问题?
时间: 2023-05-11 07:04:05 浏览: 166
这段代码没有禁用提交按钮的问题可能是因为在 onsubmit 事件中只是将按钮的 disabled 属性设置为 true,但是没有将按钮的值设置为 disabled,所以提交按钮仍然可以被点击。应该将 onsubmit 事件中的代码改为 getElementById('dosubmit').disabled='disabled';。
相关问题
yii2 中 $form = ActiveForm::begin 中的 onsubmit 如何使用?
在 Yii2 中,$form = ActiveForm::begin() 中的 onsubmit 可以用来指定表单提交时要执行的 JavaScript 函数。例如,可以这样使用:
$form = ActiveForm::begin([
'options' => ['onsubmit' => 'return myFunction();']
]);
这里的 myFunction() 是一个自定义的 JavaScript 函数,它会在表单提交时被调用。如果该函数返回 false,则表单不会提交。
如何在$form = ActiveForm::begin([表单中显示图片
可以使用ActiveForm中的fileInput()方法来实现在表单中显示图片,具体步骤如下:
1. 在表单中添加一个file input,用于选择图片文件:
```php
<?= $form->field($model, 'imageFile')->fileInput() ?>
```
2. 在控制器中处理图片上传逻辑:
```php
public function actionCreate()
{
$model = new MyModel();
if ($model->load(Yii::$app->request->post())) {
// 保存图片文件到服务器上
$model->imageFile = UploadedFile::getInstance($model, 'imageFile');
if ($model->imageFile) {
$model->imageFile->saveAs('uploads/' . $model->imageFile->baseName . '.' . $model->imageFile->extension);
}
if ($model->save()) {
return $this->redirect(['view', 'id' => $model->id]);
}
}
return $this->render('create', [
'model' => $model,
]);
}
```
3. 在表单中显示已上传的图片:
```php
<?php if ($model->imageFile): ?>
<img src="<?= Yii::getAlias('@web') ?>/uploads/<?= $model->imageFile->baseName . '.' . $model->imageFile->extension ?>" alt="image">
<?php endif; ?>
```
这样就能在表单中显示已上传的图片了。注意需要在控制器中配置文件上传路径。
阅读全文