我使用yii2创建了一个ActiveForm,如下所示:
A.Very.Long.List.Of.Names.queue
它产生了以下结果:
<?=$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)?>
现在我想做它&lt;输入类型=“数字”..而不是文本..(因此用户可以使用浏览器向上/向下按钮更改值)。有什么办法吗?
答案 0 :(得分:26)
您可以使用->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)?>
答案 1 :(得分:1)
尝试一下。它对我有用
<?= $form->field($model, 'amount')->textInput(['type' => 'number']) ?>
答案 2 :(得分:0)
诸如电话号码/会员编号等字段,有时我们只允许用户在文本字段中输入数字输入。在这种情况下,应用模式匹配规则对我非常有用。
只需在模型类中设置一个规则即可。
public function rules()
{
return [
...
[['contactno'], 'string', 'max' => 25],
[['contactno'], 'match' ,'pattern'=>'/^[0-9]+$/u', 'message'=> 'Contact No can Contain only numeric characters.'],
...
];
}
答案 3 :(得分:0)
<?= $form->field($model, 'code')->textInput(['type'=>'number']) ?>