【问题标题】:laravel quiz app isn't working properly, can anyone tell me a solution?laravel 测验应用程序无法正常工作,谁能告诉我解决方案?
【发布时间】:2021-03-23 06:03:22
【问题描述】:

我想创建测验应用程序,我这样做了,但是我遇到了一些问题,当我单击任何单选按钮时它无法正常工作,因为结果不正确,当我标记第一个答案时,这个答案会取消第二个问题。所以最后一题答对了总分1分,答错总分0分。请告诉我解决办法!先感谢您! 有blade.php

<form method="POST" enctype="multipart/form-data" action="{{route('check_quizz')}}">
                    <div>
                        @foreach($quizzes as $quizz)
                            <br><p>{{$quizz->question}}</p>
                            <p>
                                <input type="radio" name="q1" value="{{$quizz->answer_1}}" id="{{$quizz->answer_1}}">
                                <label for="{{$quizz->answer_1}}">A. {{$quizz->answer_1}}</label>
                            </p>
                            <p>
                                <input type="radio" name="q1" value="{{$quizz->answer_2}}" id="{{$quizz->answer_2}}">
                                <label for="{{$quizz->answer_2}}">B. {{$quizz->answer_2}}</label>
                            </p>
                            <p>
                                <input type="radio" name="q1" value="{{$quizz->answer_3}}" id="{{$quizz->answer_3}}">
                                <label for="{{$quizz->answer_3}}">C. {{$quizz->answer_3}}</label>
                            </p>
                            <p>
                                <input type="radio" name="q1" value="{{$quizz->answer_4}}" id="{{$quizz->answer_4}}">
                                <label for="{{$quizz->answer_4}}">D. {{$quizz->answer_4}}</label>
                            </p>

                         @endforeach
                    </div><input type="hidden" name="_token" id="csrf_token" value="{{csrf_token()}}">
                    <div class="box-footer">
                        <button type="submit" class="btn btn-primary">Save</button>
                    </div>
                </form>

有迁移

Schema::create('questions', function (Blueprint $table) {
        $table->id();
        $table->text('question');
        $table->integer('answer_1');
        $table->integer('answer_2');
        $table->integer('answer_3');
        $table->integer('answer_4');
        $table->boolean('is_correct');
        $table->timestamps();

    });

There is my project view.

There is my blade

【问题讨论】:

  • 您为每个测验/问题将所有单选字段命名为相同的名称,q1,因此它们都在同一个单选组中

标签: laravel eloquent laravel-artisan laravel-migrations


【解决方案1】:

这是因为您对所有测验记录的单选按钮使用相同的名称

尝试使用测验 id 作为标识符来命名它们

<form method="POST" enctype="multipart/form-data" action="{{route('check_quizz')}}">
    <div>
        @foreach($quizzes as $quizz)
            <br><p>{{$quizz->question}}</p>
                <p>
                    <input type="radio" name="{{$quizz->id}}-q1" value="{{$quizz->answer_1}}" id="{{$quizz->answer_1}}">
                    <label for="{{$quizz->answer_1}}">A. {{$quizz->answer_1}}</label>
                </p>
                <p>
                    <input type="radio" name="{{$quizz->id}}-q1" value="{{$quizz->answer_2}}" id="{{$quizz->answer_2}}">
                    <label for="{{$quizz->answer_2}}">B. {{$quizz->answer_2}}</label>
                </p>
                <p>
                    <input type="radio" name="{{$quizz->id}}-q1" value="{{$quizz->answer_3}}" id="{{$quizz->answer_3}}">
                    <label for="{{$quizz->answer_3}}">C. {{$quizz->answer_3}}</label>
               </p>
               <p>
                   <input type="radio" name="{{$quizz->id}}-q1" value="{{$quizz->answer_4}}" id="{{$quizz->answer_4}}">
                   <label for="{{$quizz->answer_4}}">D. {{$quizz->answer_4}}</label>
               </p>

       @endforeach
    </div>
    <input type="hidden" name="_token" id="csrf_token" value="{{csrf_token()}}">
    <div class="box-footer">
        <button type="submit" class="btn btn-primary">Save</button>
    </div>
</form>

【讨论】:

  • @GiorgiGegechkori 很高兴我能帮上忙。如果答案解决了您的问题,请记住将其标记为已接受/赞成,以使后续访问者受益
猜你喜欢
  • 1970-01-01
  • 2021-09-09
  • 1970-01-01
  • 1970-01-01
  • 2014-11-10
  • 1970-01-01
  • 1970-01-01
  • 2016-02-14
  • 1970-01-01
相关资源
最近更新 更多