زهرا ریحانیان
4 سال پیش توسط زهرا ریحانیان مطرح شد
2 پاسخ

مشکلات form هنگام استفاده pagination

@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>

ثبت پرسش جدید
محسن بستان
تخصص : Senior Backend Developer
@mohsenbostan 4 سال پیش مطرح شد
0

@reyhanyanz
سلام.
برای چنین کاری باید از جاوااسکریپت استفاده کنید.
در pagination کلا صفحه شما تغییر پیدا میکنه و اطلاعات بروز میشن.


حسن حکمتی
تخصص : برنامه نویس وب و بلاکچین
@hekmati 4 سال پیش مطرح شد
0

سلام
می تونید انتخاب ها رو به شکل key و value در یک آرایه قرار بدید و سپس این آرایه رو یا در سشن یا متغیر سراسری یا ... ذخیره داشته باشید تا در نهایت به دیتابیس ارسال کنید.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام