UPDATE使用输入数组收集数据

时间:2016-10-18 09:29:31

标签: javascript arrays laravel

我的表单中有3个输入。住所[],移动[],办公室[]。我还有每个输入的按钮,点击时会附加它们。到目前为止,我设法为每个输入插入3个值到我的数据库中。但是我如何更新所有这些?这是我的更新控制器

public function postEdit(ReservedEditRequest $reserved_edit_request, $id) {



    foreach (Input::get('residence','mobile','office') as $key => $val) {

        $student_contacts = StudentContacts::where('student_contacts.student_id',$id)
            ->update([
                'residence' => Input::get("residence.$key"),
                'mobile' => Input::get("mobile.$key"),
                'office' => Input::get("office.$key"),
            ]);
    } 





    return redirect('registrar/register_student')->withErrors('mobile')->with('message', 'Student Details Successfully Modified');
}

上面的代码将检索一个集合

停留----------------------移动-----------------------办公室

VAL1 ---------------------------- VAL1 ----------------- ------- VAL1

VAL2 ---------------------------- VAL2 ----------------- ------- VAL2

VAL3 ---------------------------- VAL3 ----------------- ------- VAL3

当我提交表单时,会为所有字段保存第三个值

停留----------------------移动-----------------------办公室

VAL3 ---------------------------- VAL3 ----------------- ------- VAL3

VAL3 ---------------------------- VAL3 ----------------- ------- VAL3

VAL3 ---------------------------- VAL3 ----------------- ------- VAL3

任何答案都将不胜感激:)谢谢

EDITED

这是表格

<div class="col-xs-1">
        <button type="button" id="add_field_button_residence" class="btn btn-sm btn-primary" pull-right>
            <span class="glyphicon glyphicon-plus"></span>
        </button>
    </div>  
    <div class="col-sm-3">
        <div class="input_fields_wrap_residence">
            @if($action == 1)
                @foreach($student_contacts as $contacts)
                    <input type="text" name="residence[]" id="residence[]" class="form-control" pattern="[\(]\d{2}[\)]\d{7}" placeholder="Residence e.g. (32)1234567" value="{{{$contacts -> residence}}}"/>
                    <span class="help-block">{!!$errors->first('residence', '<span class="help-block">:message </span>')!!}</span>    
                @endforeach
            @else
                <input type="text" name="residence[]" id="residence[]" class="form-control" pattern="[\(]\d{2}[\)]\d{7}" placeholder="Residence e.g. (32)1234567" value="{{{Input::old('residence', isset($student_contacts) ? $student_contacts_residence : null )}}}"/>
                <span class="help-block">{!!$errors->first('residence', '<span class="help-block">:message </span>')!!}</span>
            @endif
        </div>
    </div>
    <div class="col-xs-1">
        <button type="button" id="add_field_button_mobile" class="btn btn-sm btn-primary" pull-right>
            <span class="glyphicon glyphicon-plus"></span>
        </button>    
    </div>
    <div class="col-sm-3">
        <div class="input_fields_wrap_mobile">
            @if($action == 1)
                @foreach($student_contacts as $contacts)
                    <input type="text" name="mobile[]" id="mobile[]" class="form-control" pattern="(09)[0-9]{9}" placeholder="Mobile Phone" value="{{{$contacts -> mobile}}}" required/>
                    <span class="help-block">{!!$errors->first('mobile', '<span class="help-block">:message </span>')!!}</span>
                @endforeach
            @else
                <input type="text" name="mobile[]" id="mobile[]" class="form-control" pattern="(09)[0-9]{9}" placeholder="Mobile Phone" value="{{{Input::old('mobile', isset($student_contacts) ? $student_contacts_mobile : null)}}}" required/>
                <span class="help-block">{!!$errors->first('mobile', '<span class="help-block">:message </span>')!!}</span>
            @endif        
        </div>   
    </div>
    <div class="col-xs-1">
        <button type="button" id="add_field_button_office" class="btn btn-sm btn-primary" pull-right>
            <span class="glyphicon glyphicon-plus"></span>
        </button>  
    </div>
    <div class="col-sm-3">
        <div class="input_fields_wrap_office">
            @if($action == 1)
                @foreach($student_contacts as $contacts)
                    <input type="text" name="office[]" id="office[]" class="form-control" pattern="[\(]\d{2}[\)]\d{7}" placeholder="Office e.g. (32)1234567" value="{{{$contacts->office}}}"/>
                    <span class="help-block">{!!$errors->first('office', '<span class="help-block">:message </span>')!!}</span>
                @endforeach
            @else
                <input type="text" name="office[]" id="office[]" class="form-control" pattern="[\(]\d{2}[\)]\d{7}" placeholder="Office e.g. (32)1234567" value="{{{Input::old('office', isset($student_contacts) ? $student_contacts_office : null )}}}"/>
                <span class="help-block">{!!$errors->first('office', '<span class="help-block">:message </span>')!!}</span>
            @endif
        </div>
    </div>

按钮将通过javascript附加输入。这是代码

$(document).ready(function() {
    var max_fields      = 3; //maximum input boxes allowed
    var wrapper         = $(".input_fields_wrap_mobile"); //Fields wrapper
    var add_button      = $("#add_field_button_mobile"); //Add button ID

    var x = 1; //initlal text box count
    $(add_button).click(function(e){ //on add input button click
        e.preventDefault();
        if(x < max_fields){ //max input box allowed
            x++; //text box increment
            $(wrapper).append('<div><input type="text" name="mobile[]" id="mobile[]" class="form-control" pattern="(09)[0-9]{9}" placeholder="Mobile Phone" value="{{{Input::old('mobile', isset($student_contacts) ? $student_contacts_mobile : null)}}}" required/><a href="#" class="remove_field_mobile" style="color: #c76969;">Remove</a></div>'); //add input box
        }
    });

    $(wrapper).on("click",".remove_field_mobile", function(e){ //user click on remove text
        e.preventDefault(); $(this).parent('div').remove(); x--;
    })
});

相同的代码适用于他人

0 个答案:

没有答案