0
votes

I have a button that calls a modal form where the user can enter a name. I want the submit button in my modal to take that inputted string and append it as a parameter in a specific route. I can't find an example that shows how to get the modal input value into the route call.

Button code in view:

    <button  
        type="button" 
        class="btn btn-info btn-lg" 
        data-toggle="modal" 
        onClick="$('#myModal').modal()"
        style="margin-top: 2px;">
        New Name
    </button>

Modal form code:

    <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">

        <div class="vertical-alignment-helper" style="width:50%">
            <div class="modal-dialog vertical-align-center">
                <div class="horizontal-alignment-helper">
                    <div class="modal-content">
                        <div class="modal-header">
                            <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span>

                            </button>
                            <h4 class="modal-title" id="myModalLabel">Create New Plan</h4>

                        </div>
                        <div class="modal-body">Enter a name for your new plan and we'll do the rest...
                            <p></p>
                                <div class="form-group form-group-lg">
                                        <label for="firstname" class="control-label"> Plan Name:</label>
                                        <div>   
                                            <input class="form-control" type="text" id="lg">
                                        </div>

                                </div>
                                <div class="modal-footer">
                                    <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
                                    <button type="button" class="btn btn-primary">Create Plan</button>
                                </div>

                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>

Route I want the submit button to invoke:

Route::get('create-plan/{plan_name}', ['uses' => 'GeneratePlanController@createplan'])->middleware('auth');

How can I get the user input from the form control <input class="form-control" type="text" id="lg"> into the route call as the {plan_name} parameter?

I'm working in Laravel 5.5 and PHP 7 on XAMPP. My modal form works fine, as does the route/controller when manually called. Just need to wire the two together.

Thanks in advance.

1
what happen when you click the button ? there is no form tag in your modal.Ariel Pepito
Well, nothing yet because I haven't wired it up yet. I'm trying to figure out the correct way to pass the input value into the route string for the form action, hence my question/post.Hondaman900

1 Answers

1
votes

You could possibly use javascript onclick event for this:

<button type="button" class="btn btn-primary" onclick="window.location.href = '/create-plan/'+document.getElementById('lg').value;">Create Plan</button>