Laravel 5 + jQuery Mask Plugin Вставка [объект объекта] во входы
Я использую плагин 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. Я изначально заполняю входные данные значениями из объекта базы данных и сохраняю входные данные для этого объекта при загрузке. Атрибуты "телефон" и "почтовый индекс" сохраняются в базе данных как целые числа.
РЕДАКТИРОВАТЬ 2: мой текущий браузер Google Chrome. 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>
Этот рендеринг не изменяется, когда я нажимаю на него (таким образом, меняя его на "[объектный объект]"), и на вкладке "Консоль" не печатаются никакие ошибки.
1 ответ
Мне нужно было использовать эту библиотеку jQuery-mask-plugin в laravel, я делюсь своим решением.
Регистрационная форма
<!-- 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>