0

我正在使用 jQuery Mask 插件(可在此处获得)来屏蔽某些输入:

<input type="text" name="phone" value="{{ old('phone', $person->phone) }}" data-mask="(000) 000-0000" required>
<input type="text" name="zip" value="{{ old('zip', $person->zip) }}" data-mask="00000" required>

在大多数情况下,它一直运行良好。但是,最近项目代码的更改导致了一个特殊的错误:当您单击带有设置掩码的输入时,它会立即被“[object Object]”填充。此输入无法删除,并且没有错误消息指示可能导致它的任何问题。

有谁知道插件在做什么,以及我如何修复它?

编辑:为了进一步了解,该项目建立在 Laravel 5.4 之上。我最初使用来自数据库对象的值填充输入,并在上传时将输入保存到该对象中。“phone”和“zip”属性以整数形式保存在数据库中。

编辑 2:我当前的浏览器是谷歌浏览器。HTML 呈现如下:

<div class="col-sm-8">
    <input type="text" class="form-control" name="phone" value="2147483647" data-mask="(000) 000-0000" required="" autocomplete="off" maxlength="14">
</div>

当我单击它时,此渲染不会改变(因此将其更改为“[object Object]”),并且“控制台”选项卡上没有打印错误。

4

1 回答 1

0

我需要在 laravel 中使用 jQuery-mask-plugin 库,我分享了我的解决方案。

登记表

 <!-- resources/views/user/create.blade.php -->
@extends('layouts.app')

@section('script')
<script>
    $(document).ready(function($){
        $('#cpf').mask('999.999.999-99');
   });
</script>
@endsection

@section('content')
<form class="form-group" action="{{ action('UserController@store', 0) }}" method="post">
    @csrf
    <div class="col-md-2">
        <label>CPF</label><br>
        <input class="form-control" id="cpf" type="text" name="cpf" required><br>
    </div>
</form>

@stop
<!doctype html>
<head>
</head>
 <!-- resources/views/layouts/app.blade.php -->
<body>
    <div id="app">
        @yield('content')
    </div>

    <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
        integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous">
    </script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.16/jquery.mask.js"
        integrity="sha256-yE5LLp5HSQ/z+hJeCqkz9hdjNkk1jaiGG0tDCraumnA=" crossorigin="anonymous"></script>
    
<!-- Carrega o Script Personalizado na Página aqui -->
    @yield("script")

</body>
</html>

于 2021-06-23T17:49:31.673 回答