简体   繁体   中英

how to use different forms in one blade file in laravel 5.6

I am using laravel 5.6 and I am developing auto classifieds web application. in My app I have 3 different vehicle categories as car, van, truck and I have blade file to select this three different vehicle types. when I select this vehicles my urls show like this,

http://localhost:8000/post-ad/Truck/8 <- this is category id

http://localhost:8000/post-ad/van/7

http://localhost:8000/post-ad/Car/5

now when I clicked one of above vehicle category page redirect to show.blade.php file, so, now I need 3 different forms to submit data to each vehicles, this is my vehicles form, car form

<form method="post" action="{{url('form')}}" enctype="multipart/form-data"> 
            {{csrf_field()}}

            <input type="hidden" id="cid" name="cid" value="{{ $catagories->id }}" />
        <div class="form-group">
        <label for="exampleFormControlSelect1">District</label>
        <select class="form-control" id="exampleFormControlSelect1" name="district">

        </select>
        </div>

        <div class="form-group">
        <label for="exampleFormControlSelect1">Town</label>
        <select class="form-control" id="exampleFormControlSelect1" name="town">

        </select>
        </div>

        <div class="form-group">
        <label for="exampleFormControlSelect1">Brand</label>
        <select class="form-control" id="exampleFormControlSelect1" name="brand">

        </select>
        </div>

        <div class="form-group">
        <label for="exampleFormControlSelect1">Model</label>
        <select class="form-control" id="exampleFormControlSelect1" name="model">

        </select>
        </div>
</form>

van form

<form method="post" action="{{url('form')}}" enctype="multipart/form-data"> 
            {{csrf_field()}}

            <input type="hidden" id="cid" name="cid" value="{{ $catagories->id }}" />
        <div class="form-group">
        <label for="exampleFormControlSelect1">District</label>
        <select class="form-control" id="exampleFormControlSelect1" name="district">

        </select>
        </div>

        <div class="form-group">
        <label for="exampleFormControlSelect1">Town</label>
        <select class="form-control" id="exampleFormControlSelect1" name="town">

        </select>
        </div>

        <div class="form-group">
        <label for="exampleFormControlSelect1">Brand</label>
        <select class="form-control" id="exampleFormControlSelect1" name="brand">

        </select>
        </div>

        <div class="form-group">
        <label for="exampleFormControlSelect1">Model</label>
        <select class="form-control" id="exampleFormControlSelect1" name="model">

        </select>
        </div>
</form>

Truck Form

 <form method="post" action="{{url('form')}}" enctype="multipart/form-data"> 
                {{csrf_field()}}

                <input type="hidden" id="cid" name="cid" value="{{ $catagories->id }}" />
            <div class="form-group">
            <label for="exampleFormControlSelect1">District</label>
            <select class="form-control" id="exampleFormControlSelect1" name="district">

            </select>
            </div>

            <div class="form-group">
            <label for="exampleFormControlSelect1">Town</label>
            <select class="form-control" id="exampleFormControlSelect1" name="town">

            </select>
            </div>

            <div class="form-group">
            <label for="exampleFormControlSelect1">Brand</label>
            <select class="form-control" id="exampleFormControlSelect1" name="brand">

            </select>
            </div>

            <div class="form-group">
            <label for="exampleFormControlSelect1">Model</label>
            <select class="form-control" id="exampleFormControlSelect1" name="model">

            </select>
            </div>
    </form>

I need show each form when some user click each vehicle links on one blade file. how can I do this?

You may add name to your routes, for example:

Route::group(['prefix' => 'post-ad'], function () {
   Route::get('Truck/{id}', 'TruckController@fetch')->name('track');
   Route::get('Van/{id}', 'VanController@fetch')->name('van');
   Route::get('Car/{id}', 'CarController@fetch')->name('car');
})

Put your form to another files like:

truck-form.blade.php
van-form.blade.php
car-form.blade.php

In your view:

@if(request()->route()->getName() = 'track')
    @include('truck-form')
@elseif(request()->route()->getName() = 'van')
    @include('van-form')
@elseif
    @include('van-form')
@endif

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM