Tôi sẽ tự động tạo các hàng của một bảng trong jQuery. Bằng cách nhấp vào nút AddRow, chức năng addRow [] sẽ làm điều đó như bên dưới:
function addRow[]{
var rowCount = $["table tr"].length - 1;
var row = ' @if [$errors->has[‘item’]]{{ $errors->first[‘item’] }}@endif ' ;
$["table"].append[row];
}
Tôi sẽ gọi phương pháp này 5 lần và nó sẽ tạo 5 khu vực đầu vào tên là item1. Item2, Item3, Item4, Item5.
Ở phía máy chủ, tôi sử dụng xác thực yêu cầu biểu mẫu Laravel 5.2 để xác thực mọi trường đầu vào.
Nhưng nếu xác thực không thành công, đầu vào và lỗi cũ sẽ không được đặt thành đúng trường đầu vào vì
Tôi có thể đặt RowCount biến JavaScript vào "{{old [‘ item ']}}, đó là một mẫu lưỡi. Và tương tự là {{$ errors-> Đầu tiên [it item]}}.
Tôi đã cố gắng viết như thế này
'value="{{ old['giftValue[' . $rowCount .']'] }}">'
và điều này
'value="{{ old['giftValue[' + $rowCount +’]’] }}">'
Nhưng có làm việc.
Có ai có ý tưởng tốt để giải quyết vấn đề này không?
Chuyển đổi Php Vars thành JavaScript
Ảnh của Kobu Agency trên unplashTrong Laravel, chúng tôi chuyển dữ liệu đến chế độ xem lưỡi bằng cách sử dụng trình trợ giúp
'value="{{ old['giftValue[' . $rowCount .']'] }}">'
4.Chuyển dữ liệu cho lượt xem
Trong tuyến Ứng dụng, đối số thứ hai được sử dụng để truyền dữ liệu để xem.
Route::get['/', function [] {
return view['welcome', ['name' => 'James']];
}];
Trong bộ điều khiển, trình trợ giúp xem cũng được sử dụng để truyền dữ liệu.
Ký hiệu chấm chấm có thể được sử dụng để tham chiếu các chế độ xem lồng nhau. Sự cho phép dưới đây, dữ liệu sẽ hiển thị trên
'value="{{ old['giftValue[' . $rowCount .']'] }}">'
5public function show[Permission $permission]
{
return view['admin.permission.show', compact['permission']];
}
Chuyển một biến PHP cho JavaScript
Nhưng trong một số trường hợp, bạn muốn chuyển một số VAR phía máy chủ cho JavaScript. Ví dụ, yêu cầu một số giá trị cho phân tích. Chúng ta có thể chuyển các biến bằng cách sử dụng gói vars Php biến đổi sang gói JavaScript. Ngoài ra, chúng tôi có thể làm mà không cần sử dụng gói này.
- 1. Sử dụng kết xuất JSON
- 2. Sử dụng biến đổi Php Vars thành Gói JavaScript
1. Không có gói: Sử dụng kết xuất JSON
Trong kết xuất Laravel, JSON sẽ được sử dụng để khởi tạo biến JavaScript.
var app = {{ Js::from[$array] }};
Thí dụ
Bây giờ thêm dữ liệu mảng trong tuyến ứng dụng. Mảng trang này chúng ta cần sử dụng làm JavaScript.
Route::get['/', function [] {
return view['welcome', ['page_data' => [
'title' => 'Home',
'price' => 20
]]];
}];
Thêm các js :: từ trong quan điểm chào mừng
'value="{{ old['giftValue[' . $rowCount .']'] }}">'
6
var page_data = {{ Js::from[$page_data] }};
Mở trình duyệt và kiểm tra trang_data trong bảng điều khiển.
2. Sử dụng biến đổi Php Vars thành Gói JavaScript
1. Không có gói: Sử dụng kết xuất JSON
composer require laracasts/utilities
Trong kết xuất Laravel, JSON sẽ được sử dụng để khởi tạo biến JavaScript.
'value="{{ old['giftValue[' . $rowCount .']'] }}">'
7'providers' => [
'...',
Laracasts\Utilities\JavaScript\JavaScriptServiceProvider::class,
];
Thí dụ
'value="{{ old['giftValue[' . $rowCount .']'] }}">'
8'value="{{ old['giftValue[' . $rowCount .']'] }}">'
0Bây giờ thêm dữ liệu mảng trong tuyến ứng dụng. Mảng trang này chúng ta cần sử dụng làm JavaScript.
'value="{{ old['giftValue[' . $rowCount .']'] }}">'
1Thêm các js :: từ trong quan điểm chào mừng
'value="{{ old['giftValue[' . $rowCount .']'] }}">'
9Mở trình duyệt và kiểm tra trang_data trong bảng điều khiển.
'value="{{ old['giftValue[' . $rowCount .']'] }}">'
2'value="{{ old['giftValue[' . $rowCount .']'] }}">'
6'value="{{ old['giftValue[' . $rowCount .']'] }}">'
3Bây giờ tiêu đề và giá có sẵn trên đối tượng cửa sổ.
Nếu bạn biết bất kỳ phương pháp thay thế nào khác, hãy chia sẻ chúng trong bình luận.
Cảm ơn bạn đã đọc.
Chơ để biết thêm!
Theo dõi tôi tại Balajidharma.medium.com.balajidharma.medium.com.