хе там. я работаю над проектом в laravel с ajax. В моем проекте форма начинается с одного файла блейда и заканчивается другим файлом блейда, который встраивается в первый файл блейда с использованием ajax. Я сериализую форму и получить запрос в моем контроллере, но в
dd ($ request)
он возвращает мне все значения полей ввода формы, кроме поля, присутствующего во 2-м блейд-файле, который вставлен. здесь я делюсь кодом.
Первый блейд-файл, с которого начинается форма
<form action=" {{ route('admin-test-session-result.store') }} " id="add_result" method="POST">
@csrf
<a href="{{ url('admin/get-all-student-for-test-by-class/2/1') }}">click</a>
<label for="cls">Select Class</label>
<select name="class" id="cls" onchange="take_all_student()" class="form-control">
<option selected disabled>Select Class</option>
@foreach($getClass as $getClass)
<option value="{{$getClass->id}}">{{$getClass->class_name}}</option>
@endforeach
</select><br>
{{-- result of student --}}
<div id="getting_all_student"></div>
<script>
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
// ajax for showing all student
function take_all_student(){
var get_Class=document.getElementById('cls').value;
var get_test_session=document.getElementById('test_session').value;
$.ajax({
type: "get",
url: "{{ url('admin/get-all-student-for-test-by-class') }}" + '/' + get_Class + '/' +
get_test_session,
success: function (data) {
$('#getting_all_student').empty().append(data);
}
})
}
// on form submit
$(document).on('submit','#add_result', function (e) {
e.preventDefault();
var Data_of_Form=$('#add_result').serialize();
$.post( "{{ route('admin-test-session-result.store') }}" , Data_of_Form, function( data ) {
$('#mrks').append(data);
});
});
второй блейд-файл, в котором форма закрыта
<select name="subject" class="form-control">
<option selected disabled>Select a Subject</option>
@foreach ($subjects as $subject)
<option> {{ $subject->subjects }} </option>
@endforeach
</select>
<br>
<input type="text" name="marks" id="real" class='form-control' placeholder="Enter Marks">
<input type="hidden" name="Student_id" value="{{ $student->id }}">
<button type="submit" class="btn btn-info">Submit</button>
</form>
Из этого второго блейд-файла, когда я пишу dd($request)
в моем контроллере, он возвращает мне значения Student_id
subject
но не marks
Вывод dd ($ request)
+request: ParameterBag {#44 ▼
#parameters: array:7 [▼
"_token" => "rUTyiv61UvJq8H2trfEKt7ifEiMmyISMgL8l3uNS"
"class" => "2"
"session" => "1"
"subject" => "english"
"marks" => null
"Student_id" => "16"
]
}
Здесь marks
- это поле ввода, в котором мы присваиваем оценки каждому ученику