@hesammousavi
سلام. من میخواستم یک تست با حدود 50 سوال بسازم . چون تعداد سوالات زیاد بود از pagination لاراول استفاده کردم . ولی مشکل اینجاست که با رفتن به صفحه ی بعدی گزینه هایی که کاربر انتخاب کرده unselect میشن و به نوعی داده ها از دست میرن. مشکل بعدی هم این است که با کلیک دکمه ارسال با ارور 419 مواجه میشم. به نظرتون چیکار میشه کرد ؟
controller
public function start(Test $test){
$test_items = $test->testItems()->orderBy('number')->paginate(20);
return view('start_test' , compact('test_items' , 'test'));
}
view
<div class="container">
<form action="{{ route('test.check' , $test->slug) }}" method="post">
@foreach($test_items as $item)
<div class="row">
<div class="col-md-12">
<p><span>{{ $item->number }}</span> - {{ $item->question }} </p>
<br>
</div>
</div>
<div class="row">
<div class="form-group">
@foreach($item->answers["answers"] as $key => $answer)
<div class="col-md-4 col-sm-6">
<label >
<input name="test{{$item->number}}" value="{{$key}}" type="radio" required="" {{ old('test'.$item->number) == $key ? 'checked':''}}/>
<i> {{ $answer }} </i>
</label>
</div>
@endforeach
</div>
</div>
<hr>
@if($item->number == $item->test->questions)
<div class="row">
<div class="col-sm-6">
<button class="btn btn-general btn-blue">تائید و ارسال</button>
</div>
</div>
@endif
@endforeach
</form>
<div class="test-footer">
{!! $test_items->render() !!}
</div>
</div>
@reyhanyanz
سلام.
برای چنین کاری باید از جاوااسکریپت استفاده کنید.
در pagination کلا صفحه شما تغییر پیدا میکنه و اطلاعات بروز میشن.
سلام
می تونید انتخاب ها رو به شکل key و value در یک آرایه قرار بدید و سپس این آرایه رو یا در سشن یا متغیر سراسری یا ... ذخیره داشته باشید تا در نهایت به دیتابیس ارسال کنید.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟