If you find this website useful, your sponsorship would greatly support its ongoing development and maintenance. Learn more

Form Components

Form
Input
Textarea
Checkbox
Radio
Select
Button

All form components accept option parameters that such as class='' style=''

When the method is set to PUT, PATCH or DELETE the method() will be applied automatically.

Form

Defaults to post method and CSRF token


    <x-form>

    </x-form>
    

The method and actions can be passed:


    <x-form method='delete' action='delete-comment'>

    </x-form>
    

Form input

Create an input with a name, the name will be used as the label as long as the label is not provided.


        <x-form.input name='username' />
    

Outputs:


    <div>
        <label for='username'>Username</label>
        <input type='text' name='username' id='username' value='' />
    </div>
    

Use a label


        <x-form.input name='username' label='Username' />
    

Use an id and a class


        <x-form.input name='username' label='Username' id='username' class='form-input' />
    

The type is set to text by default, it can be changed


        <x-form.input name='password' type='password' />
    

Set the input value


        <x-form.input name='username' label='Username'>{{ $username }}</x-form.input>
    

Form textarea


        <x-form.textarea name='comments'></x-form.textarea>
    

Set the rows and columns


        <x-form.textarea name='comments' cols='10' rows='10'></x-form.textarea>
    

Set the textarea data


        <x-form.textarea name='comments' cols='10' rows='10'>{{ $comments }}</x-form.textarea>
    

Form Checkbox

A checkbox can also be defined, set the name and value


        <x-form.checkbox name='terms' value='1'></x-form.checkbox>
    

Check the checkbox by passing its value, as long its a match the checkbox will be checked.


        <x-form.checkbox name='terms' value='1'>1</x-form.checkbox>
    

Or


        <x-form.checkbox name='terms' value='1'>{{ $terms }}</x-form.checkbox>
    

Form Radio

A radio can also be defined, set the name, label and value


        <x-form.radio name='result' label='Won' value='Won'/>
        <x-form.radio name='result' label='Lost' value='Lost'/>
        <x-form.radio name='result' label='Draw' value='Draw'/>
    

Pass a value which will check the matching radio.


        <x-form.radio name='result' label='Won' value='{{ $result }}'/>
        <x-form.radio name='result' label='Lost' value='{{ $result }}'/>
        <x-form.radio name='result' label='Draw' value='{{ $result }}'/>
    

Check the checkbox by passing its value, as long it's a match the checkbox will be checked.


        <x-form.checkbox name='terms' value='1'>1</x-form.checkbox>
    

Or


        <x-form.checkbox name='terms' value='1'>{{ $terms }}</x-form.checkbox>
    

Form select

create a select menu set the name and placeholder for the initial option


        <x-form.select name='types' placeholder='Select'>

        </x-form.select>
    

Leave off the placeholder to have only the select and options that can be selected


        <x-form.select name='types'>

        </x-form.select>
    

In order to set the option an array is needed and is looped over and then a nested component is used.

Pass in the key and value from the array


        <x-form.select name='types'>

            <?php $options = [1 => 'one', 2 => 'two', 3 => 'three']; ?>

            <x-form.select name='types' placeholder='Select'>
                @foreach($options as $key => $value)
                    <x-form.select-option key='{{ $key }}' value='{{ $value }}' />
                @endforeach
            </x-form.select>

        </x-form.select>
    

Form button

Create a button, defaults to a submit type


        <x-form.button name='submit'>Submit</x-form.button>
    

Create a button, using only the defaults and a label


        <x-form.button>Submit</x-form.button>
    

To change the classes edit the blade component at:
resources/views/components/form.blade.php
resources/views/components/form/checkbox.blade.php
resources/views/components/form/checkbox-row.blade.php
resources/views/components/form/ckeditor.blade.php
resources/views/components/form/date.blade.php
resources/views/components/form/daterange.blade.php
resources/views/components/form/datetime.blade.php
resources/views/components/form/file-upload.blade.php
resources/views/components/form/group.blade.php
resources/views/components/form/input.blade.php
resources/views/components/form/radio.blade.php
resources/views/components/form/select.blade.php
resources/views/components/form/select-option.blade.php
resources/views/components/form/select-option-row.blade.php
resources/views/components/form/select-search.blade.php
resources/views/components/form/submit.blade.php
resources/views/components/form/textarea.blade.php
resources/views/components/form/time.blade.php
resources/views/components/form/timeday.blade.php

Example:


Date and Time pickers



                
                    <x-form method="get">

                        <div class="grid grid-cols-1 md:grid-cols-2 gap-4">
                            <div>

                                <x-form.input name="name">{{ old('name', 'Dave') }}</x-form.input>

                                <x-form.select name="gender">
                                    <x-form.select-option value="">Select</x-form.select-option>
                                    <x-form.select-option value="male" selected="male">Male</x-form.select-option>
                                    <x-form.select-option value="female">Female</x-form.select-option>
                                </x-form.select>

                                <x-form.checkbox name="checkbox" label="Agree to terms" checked="true" />

                            </div>

                            <div>

                                <x-form.input name="image" type="file"></x-form.input>

                                <x-form.group label="T-shirt Size">
                                    <x-form.radio name="size" id="s1" label="Small" value="sm"></x-form.radio>
                                    <x-form.radio name="size" id="s2" label="Medium" value="md"></x-form.radio>
                                    <x-form.radio name="size" id="s3" label="Large" value="lg"></x-form.radio>
                                    <x-form.radio name="size" id="s4" label="XL" value="xl"></x-form.radio>
                                    <x-form.radio name="size" id="s5" label="XXL" value="xxl"></x-form.radio>
                                </x-form.group>

                            </div>
                        </div>

                        <hr/>

                        <h3>Date and Time pickers</h3>

                        <div class="grid grid-cols-1 md:grid-cols-2 gap-4">

                            <div>
                                <x-form.date name="date" label="Date"></x-form.date>
                                <x-form.daterange name="daterange" label="Date Range"></x-form.daterange>
                                <x-form.datetime name="datetime" label="Date Time"></x-form.datetime>
                            </div>

                            <div>
                                <x-form.time name="time" label="Time"></x-form.time>
                                <x-form.timeday name="timeday" label="Time Day between 08:00 and 18:00 "></x-form.timeday>
                            </div>

                        </div>

                        <hr/>

                        <x-form.textarea name="comments"></x-form.textarea>

                        <x-form.submit>Submit</x-form.submit>

                    </x-form>
                            

© 2024 Laravel AdminTW. All rights reserved.

Built by David Carr