如何在Laravel Blade模板中添加input type="number"?

3

我想创建一个输入框,让用户只能输入数字。在HTML5中,我们可以使用 <input type="number">。那么在blade中如何实现呢?

我尝试了以下代码:

{!! Form::number('amount', null, array('class' => 'form-control')) !!}
5个回答

9

我可以搜索并编写代码。由于没有直接的答案,所以我想在下面发布可行的代码:

{!! Form::input('number', 'amount', null, ['class' => 'form-control']) !!}

5
您可以使用 Form::input() 方法或者 Form::number() 方法来实现您的目标。 Form::input() 方法 该方法需要4个参数:
  1. $type - (必填) 第一个参数指定输入框类型,可以填写 "text"、"number"、"password"、"file" 等等。
  2. $name - (必填) 第二个参数是名称。
  3. $value - (可选) 第三个参数是输入框的值。
  4. $options - (可选) 第四个参数是一个包含额外属性的数组。数组中可以包含一些键值对,例如 "id"、"size" 或 "class"。
示例:
{{ Form::input('number', 'name') }}
{{ Form::input('number', 'name', 'value', ['class' => 'number', 'id' => 'numberField']) }}

//both example will create elements like this

<input name="name" type="number" value="value">
<input name="name" type="number" value="value" class="number" id="numberField">

Form::number() 方法

该方法需要三个参数。

  1. $name - (必填) 第一个参数是名称。
  2. $value - (可选) 第二个参数是输入字段的值。
  3. $options - (可选) 第三个参数是其他字段属性的数组。该数组可以包含具有键(例如“id”,“size”或“class”)的项目。

示例:

Form::number('name')
Form::number('name', null, ['class' => 'number', 'id' => 'numberField'])

//both example will create elements like this

<input name="name" type="number">
<input name="name" type="number" class="number" id="numberField">

提示:如果您想使用$options并且不想分配任何默认值,请在$value参数处使用null


1
输入字段的最小值为0。
{!! Form::number('count', $value = '' , ['min' => '0' ,'class' => 'form-control', 'id' => 'number_count','required']) !!}

0
{!!  Form::input('number', 'weight', null, ['id' => 'weight', 'class' => 'form-control', 'min' => 1, 'max' => 9999, 'required' => 'required']) !!}

-1

你可以使用JavaScript:

function isNumberKey(evt){
    var charCode = (evt.which) ? evt.which : event.keyCode
    if (charCode > 31 && (charCode < 48 || charCode > 57))
        return false;
    return true;
}

在你的HTML中:

<input name="input_name" onkeypress="return isNumberKey(event)">

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接