راکت

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

2 پاسخ

@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>
ثبت پرسش جدید

پاسخ‌ها

2
محسن بستان
محسن بستان
@mohsenbostan

تخصص: Senior Backend Developer

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

حسن حکمتی
حسن حکمتی
@hekmati

تخصص: برنامه نویس وب و بلاکچین

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

شاید پاسخ شما همین‌جا باشد

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

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