15

我使用 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)?>

它呈现了以下结果:

<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>

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

4

4 回答 4

46

您可以使用->textInput(['type' => 'number']例如:

<?=$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([
                                 'type' => 'number'
                            ])->label(false)?>
于 2015-11-09T12:51:42.967 回答
4

尝试这个 。它对我有用

<?= $form->field($model, 'amount')->textInput(['type' => 'number']) ?>
于 2019-01-28T08:12:12.823 回答
0

电话号码/会员编号等字段,有时我们只允许用户在文本字段中输入数字输入。在这种情况下,应用模式匹配规则对我来说非常有用。

只需在模型类中设置规则即可完成。

public function rules()
{
    return [
...

 [['contactno'], 'string', 'max' => 25],
 [['contactno'], 'match' ,'pattern'=>'/^[0-9]+$/u', 'message'=> 'Contact No can Contain only numeric characters.'], 

...
          ];
}
于 2020-03-20T06:30:05.213 回答
0
<?= $form->field($model, 'code')->textInput(['type'=>'number']) ?>
于 2021-03-11T09:28:53.497 回答