简体   繁体   中英

In Laravel 5.1 Can't post value of checkbox

I have 2 checkboxs inside a form, I can't post value of them. I have already tried this:

<div class="form-group col-md-4">
                <label class="col-md-6" for="invoiced">
                    <input type="checkbox" id="invoiced" value="false" name="project[invoiced]"> 
                     Invoiced </label>
                <label class="col-md-6" for="tobeinvoiced">
                    <input type="checkbox" id="tobeinvoiced" value="true" name="project[tobeinvoiced]" checked> 
                    To be Invoiced </label>
            </div>

with this script that changes the value of 2 checkboxes in true or false:

<script type="text/javascript">
            $('#tobeinvoiced').change(function(){
                cb = $(this);
                cb.val(cb.prop('checked'));
            });
            $('#invoiced').change(function(){
                cb = $(this);
                cb.val(cb.prop('checked'));
            });
            </script>

but when I submit, the values passed are set to null.

Try this

$project = $request->input('project');
$tobeinvoiced = $project['tobeinvoiced'];

Basically the naming convention you are using makes it an array and you cant call an array directly in request input in laravel

Hope this helps.

I've found the solution to my problem, this is the link : Solution .

My code became:

<label class="col-md-6" for="invoiced">
   <input type="checkbox" key="invoiced"/>
   <input type="hidden" id="invoiced" value="0" name="project[invoiced]"> 
   Invoiced </label>
<label class="col-md-6" for="tobeinvoiced">
   <input type="checkbox" key="tobeinvoiced" checked/>
   <input type="hidden" id="tobeinvoiced" value="1" name="project[tobeinvoiced]"> 
   To be Invoiced </label>

with this script:

 $(document).ready(function () {
                $('[key]').change(function () {
                    var key = $(this).attr('key');
                    $($('[name="project[' + key + ']"]')).val($(this).is(':checked') ? 'true' : 'false');
                });
            });

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