1

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.

2 Answers2

0

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.

Zaheen Sayyed
  • 38
  • 1
  • 7
  • I've forgotten to mention I'm using Json enctype, so with Input::get('project') I can get all values for input, so everything works a part for checkboxes value. – Michele Serra Nov 02 '15 at 11:28
0

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');
                });
            });
Community
  • 1
  • 1