#laravel #forms
#laravel #формы
Вопрос:
Я работал над системой CMS для веб-сайта, который я создаю, и все шло хорошо, пока я не добавил 2 формы на одну страницу (обе обновляют разные вещи), и все же это по-прежнему выдает мне ошибку в заголовке, в то время как другая форма работает нормально?
Ошибка возвращается на баннере страницы, и «обычное» обновление работает нормально!
Web.php
Route::patch('/beheer/paginas/{product}', 'PageController@update')->middleware('auth')->name('beheer.pages.update');
Route::patch('/beheer/paginas/update-banner/{product}', 'PageController@update-banner')->middleware('auth')->name('beheer.pages.banner.update');
Также в php artisan route:list показано, что это маршрут метода ИСПРАВЛЕНИЯ.
Мое мнение:
@extends('layouts.beheer')
@section('content')
<div class="container-fluid">
<div class="row justify-content-center">
<div class="col-md-6">
<div class="card">
<div class="card-header">
<div class="d-inline card-title">Pagina bewerken</div>
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
</div>
<div class="card-body">
<form action="{{ route('beheer.pages.update', $page->id) }}" method="POST" enctype="multipart/form-data">
@csrf
{{ method_field('PATCH') }}
<div class="form-group">
<label>Zichtbaarheid:</label>
<select class="custom-select" name="page_hidden">
<option value="0" @if (!$page->page_hidden) selected @endif>Zichtbaar</option>
<option value="1" @if ($page->page_hidden) selected @endif>Verborgen</option>
</select>
</div>
<div class="form-group">
<label>Pagina naam:</label>
<input type="text" name="page_name" value="{{ $page->page_name ? $page->page_name : old('page_name') }}" class="form-control" placeholder="Pagina naam">
</div>
<div class="form-group">
<label>Pagina tekst:</label>
<textarea name="page_text" class="form-control">{{ $page->page_text ? $page->page_text : old('page_meta_title') }}</textarea>
</div>
<div class="form-group">
<label>Pagina title SEO:</label>
<input type="text" name="page_meta_title" value="{{ $page->page_meta_title ? $page->page_meta_title : old('page_meta_title') }}" class="form-control" placeholder="Pagina titel SEO">
</div>
<div class="form-group">
<label>Pagina beschijving SEO:</label>
<input type="text" name="page_meta_description" value="{{ $page->page_meta_description ? $page->page_meta_description : old('page_meta_description') }}" class="form-control" placeholder="Pagina beschijving SEO">
</div>
<button type="submit" class="btn btn-primary float-right">Opslaan</button>
</form>
</div>
</div>
</div>
<div class="col-md-6">
<div class="card">
<div class="card-header">
<div class="d-inline card-title">Banner</div>
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
</div>
<div class="card-body">
<form onsubmit="{{ route('beheer.pages.banner.update', $page->id) }}" method="POST" enctype="multipart/form-data">
@csrf
{{ method_field('PATCH') }}
<input type="hidden" name="image_section_banner" value="1">
<input type="hidden" name="page_id" value="{{ $page->id }}">
<div class="form-group">
<img src="{{ asset($page_banner ? $page_banner->image_large_url : asset('assets/img/banner-home.jpg')) }}" class="img-fluid" style="max-height:250px;">
</div>
<div class="form-group">
<label>Afbeelding:</label>
<input type="file" name="image" value="{{ old('image') }}" class="form-control">
</div>
<button type="submit" class="btn btn-primary float-right">Opslaan</button>
</form>
</div>
</div>
</div>
</div>
</div>
@endsection
Если потребуется какая-либо дополнительная информация, пожалуйста, дайте мне знать!
Ответ №1:
На вашем 2-м отсутствует атрибут <form>
. Вот что у вас есть:
<form onsubmit="{{ route('beheer.pages.banner.update', $page->id) }}" ...>
Но это должно выглядеть так:
<form action="{{ route('beheer.pages.banner.update', $page->id) }}" ...>
Поскольку вы не указали action
атрибут, он отправляется на текущий URL-адрес, для которого, вероятно, не patch
определен маршрут.
Комментарии:
1. Вау, спасибо, приятель, я смотрю на мой код уже около 2 часов 🙂