标签: active-form

Yii2 - ActiveForm ajax提交

我如何使用ActiveForm满足这些要求?

  • 使用ajax提交表单.

  • 在使用ajax提交之前:检查是否有错误退出.

  • 提交后:如果服务器响应不成功保存结果,则在字段输入下显示字段错误.

ajax yii2 active-form

27
推荐指数
2
解决办法
5万
查看次数

如何更改ActiveField的标签文本?

我已经创建了新的Yii2基础项目并希望深入挖掘.

登录页面上有一个用户名字段: 在此输入图像描述

我想将标签'Username'更改为自定义标签,例如'My superb label'.我已阅读手册:http: //www.yiiframework.com/doc-2.0/yii-widgets-activefield.html

稍微调查一下后,我得到了下一个结果: 在此输入图像描述

我只更改了模板并更改了布局:

<?= $form->field($model, 'username', [
    "template" => "<label> My superb label </label>\n{input}\n{hint}\n{error}"
])?>
Run Code Online (Sandbox Code Playgroud)

如何以正确的方式更改标签的文本?什么是最佳做法?

yii2 active-form

25
推荐指数
3
解决办法
5万
查看次数

Yii2 activeform ajax提交和验证

目前同时实现ajax提交和验证.我正在使用自定义功能:

    $('.edit_form').submit(function (e) {
        e.preventDefault();
        var form = $(this);
        var formData = $(this).serialize();
        if (form.find('.has-error').length) {
            return false;
        }

        $.ajax({
            url: form.attr("action"),
            type: form.attr("method"),
            data: formData,
            success: function (data) {
                 ...
            },
            error: function () {
                alert("Something went wrong");
            }
        });

    });
Run Code Online (Sandbox Code Playgroud)

这里是php端,为了验证我的配置看起来像这样:

$form = ActiveForm::begin([
    'id' => "some_form",
    'action' => ['user/edit'],
    'options' => ['class' => 'edit_form'],
    'enableAjaxValidation' => false,
    'enableClientValidation' => true,
]); ?>
Run Code Online (Sandbox Code Playgroud)

我敢肯定,这不是达到我需要的最佳方式.特别是我用于在验证错误的情况下阻止提交的这部分:

    if (form.find('.has-error').length) {
        return false;
    }
Run Code Online (Sandbox Code Playgroud)

有什么建议?如何使用Yii 2的内置设置正确实现ajax提交和验证?

javascript php ajax yii2 active-form

12
推荐指数
2
解决办法
2万
查看次数

从一个视图重定向到另一个视图 - Yii2

这是我网站视图页面中的表单.

<?= $form->field($model, 'taskID')->textInput(['readonly' => true, 'value' => Yii::$app->getRequest()->getQueryParam('id')])  ?>   

<?php 
$ifDistributor = User::find()->select('userType')->where(['username'=>Yii::$app->user->identity->username])->andWhere(['userType'=>'Distributer'])->exists();
$ifDistributorHasOnSiteSupport = Distributorinfo::find()->select('hasOnSiteSupport')->where(['UName'=>Yii::$app->user->identity->username])->andWhere(['hasOnSiteSupport'=>1])->exists();
if($ifDistributor)
 if($ifDistributorHasOnSiteSupport)
    echo $form->field($model, 'assignedToID')->dropDownList(
        ArrayHelper::map(dektrium\user\models\User::find()
            ->select('username')
            ->where(['userType'=>'CCE-Distributer'])
            ->andWhere(['distributerID'=>Yii::$app->user->getId()])
            ->all(),'username','username'),['prompt'=>'Select Person']
    );
else {  
                Yii::$app->session->setFlash('error', 
                    "Invalid Page");
                //I WANT TO REDIRECT TO index.php?r=tasks/index THIS URL                    

}                      
?>
<?= $form->field($model, 'remarks') ?>
<?= $form->field($model, 'scheduledTime')->widget(DateTimePicker::classname(), [
                'options' => ['placeholder' => 'Enter event time ...'],
                'pluginOptions' => [
                    'autoclose' => true
                ]
            ])  ?>
<div class="form-group">
    <?= Html::submitButton('Submit', ['class' => 'btn btn-primary']) ?>
</div>
Run Code Online (Sandbox Code Playgroud)

如上面的else部分所示,我想重定向到 …

php view yii2 active-form

10
推荐指数
2
解决办法
2万
查看次数

yii2 ActiveForm数字文本字段

我使用yii2创建了一个ActiveForm,如下所示:

                            <?=$form->field($item, 'finalPrice', [
                                'options' => [
                                    'tag' => 'div',
                                    'class' => '',
                                ],
                                'template' => '<span class="col-md-2 col-lg-2"><label class="control-label">Final item price</label>{input}{error}</span>'
                            ])->textInput([
                                 // ** i want numeric value **
                            ])->label(false)?>
Run Code Online (Sandbox Code Playgroud)

它产生了以下结果:

<span class="col-md-2 col-lg-2"><label class="control-label">Final item price</label><input type="text" id="item-finalprice" class="form-control" name="Item[finalPrice]"><p class="help-block help-block-error"></p></span>
Run Code Online (Sandbox Code Playgroud)

现在我想让它<input type ="number"..而不是文本..(因此用户可以使用浏览器向上/向下按钮更改值).有什么办法吗?

yii2 active-form yii2-advanced-app

9
推荐指数
2
解决办法
2万
查看次数

yii2:勾选复选框

我正在使用Yii2框架,我想生成这样的HTML代码

<input type="checkbox" id="queue-order" name="Queue[order]" value="1" checked>
Run Code Online (Sandbox Code Playgroud)

在使用ActiveForm的视图中.

我试过了

echo $form->field($model, 'order')
          ->checkBox(['label' => ..., 'uncheck' => null, 'checked' => true]); 
Run Code Online (Sandbox Code Playgroud)

以及

echo $form->field($model, 'order')
          ->checkBox(['label' => ..., 'uncheck' => null, 'checked' => 'checked']); 
Run Code Online (Sandbox Code Playgroud)

但是生成的html代码中没有出现所需的字符串"checked".

奇怪的是,如果我用"选中"代替"选中"

echo $form->field($model, 'order')
          ->checkBox(['label' => ..., 'uncheck' => null, 'selected' => true]); 
Run Code Online (Sandbox Code Playgroud)

然后生成的html代码包含属性"selected":

<input type="checkbox" id="queue-order" name="Queue[order]" value="1" selected>
Run Code Online (Sandbox Code Playgroud)

那么,如何为具有"已检查"属性的复选框生成html代码?

html php yii active-form

8
推荐指数
1
解决办法
5万
查看次数

如何在yii2 RadioList()中预选/检查默认单选按钮?

我希望在我的表单中预先选择单选按钮.

 <?= $form->field($model, 'config')->radioList(['1'=>'Automatic Entry',2=>'Manual Entry'])
     ->label('Barcode/Book No Generation'); ?>
Run Code Online (Sandbox Code Playgroud)

html php yii2 active-form

8
推荐指数
1
解决办法
2万
查看次数

在yii2中将表单数据发送到控制器的问题

我想将表单数据从我的视图发送到控制器,以将数据插入数据库.我已经创建了模型和控制器,但是当我将表单发送到带有操作的控制器时.它只刷新了数据未传递给控制器​​的页面,只会加载索引页面.这是我的表格:

<div class="container">
 <!--<div style="text-align:right;" class="row">
   <h3>????? ????? ????</h3>
 </div>-->
   <div class="row">
   <div class="col-md-12" >
               <div class="widget-area no-padding blank">
               <div class="status-upload">
                 <!--<form method="POST" action="?r=twit/send-twit">-->
                 <?php
                 $form = ActiveForm::begin([
                   'options' => ['action' => '?r=twit/send-twit']
                 ]);
                 ?>
                  <?= $form->field($model,'twit')->textarea(); ?>
                   <!--<textarea name="twitContent" style="text-align:right;" placeholder="...????? ??? ?? ???? ????" ></textarea>-->
                   <!--<ul>
                     <li><a title="" data-toggle="tooltip" data-placement="bottom" data-original-title="Audio"><i class="fa fa-music"></i></a></li>
                     <li><a title="" data-toggle="tooltip" data-placement="bottom" data-original-title="Video"><i class="fa fa-video-camera"></i></a></li>
                     <li><a title="" data-toggle="tooltip" data-placement="bottom" data-original-title="Sound Record"><i class="fa fa-microphone"></i></a></li>
                     <li><a title="" data-toggle="tooltip" data-placement="bottom" data-original-title="Picture"><i class="fa fa-picture-o"></i></a></li>
                   </ul>-->
                   <!--<button name="submit" …
Run Code Online (Sandbox Code Playgroud)

php yii2 active-form

8
推荐指数
1
解决办法
1503
查看次数

jQuery(...).activeform不是Yii中的函数

我正和Yii一起开发一个项目.

我需要在网站的许多页面上使用jquery ui.所以我在网站布局中添加了jquery核心库和jquery ui库,以便在所有页面上访问它们.

但它会在具有表单(活动表单)的页面上引起问题.我在萤火虫上看到这个错误:

jQuery(...).activeform is not a function
Run Code Online (Sandbox Code Playgroud)

为什么会这样?我该如何解决?

谢谢.

jquery yii active-form

7
推荐指数
1
解决办法
2万
查看次数

yii2活动字段模板

似乎样本yii2项目中的复选框模板不能正确应用

<?= $form->field($model, 'rememberMe', [
    'template' => "<div class=\"col-lg-offset-1 col-lg-3\">{input}</div>\n<div class=\"col-lg-8\">{error}</div>",
])->checkbox() ?>
Run Code Online (Sandbox Code Playgroud)

这有什么不对?

activerecord yii2 active-form twitter-bootstrap-3

7
推荐指数
1
解决办法
2万
查看次数