【问题标题】:How can I insert multiple answer with radio button?如何使用单选按钮插入多个答案?
【发布时间】:2019-09-09 18:03:49
【问题描述】:

我是 Laravel 的新手,我正在使用它制作测验应用程序。我正在使用 Laravel 5.5,我被困在保存测验答案之间。 这是我的代码:

<div class="container">
    <div class="row">
        @foreach($questions as $question)
            @if($id == $question->category_id)
                <legend> Quiz Of {{ $question->category->title }}</legend>
                <form method="POST" action="{{ url('/store-answer') }}" class="crud-submit" id="quiz_module">
                    <div class="jumbotron">
                        <input type="hidden" name="user_id" value="{{ auth()->user()->id }}">
                        <input type="hidden" name="category_id" value="{{ $question->category_id }}">
                        <input type="hidden" name="question_id" value="{{ $question->id }}">
                        <h4> 
                            Question {{ $question->id }}
                        </h4>
                        <h3>
                            {{ $question->question }}
                        </h3><brx`>
                        <h5>
                            &emsp;<input type="radio" name="answer" class="form-check-input"  value="{{ $question->option_a }}">{{ $question->option_a }}<br>
                            &emsp;<input type="radio" name="answer" class="form-check-input" value="{{ $question->option_b }}">{{ $question->option_b }}<br>
                            &emsp;<input type="radio" name="answer" class="form-check-input" value="{{ $question->option_c }}">{{ $question->option_c }}<br>
                            &emsp;<input type="radio" name="answer" class="form-check-input" value="{{ $question->option_d }}">{{ $question->option_d }}<br>
                        </h5>
                    </div>
                </form>
            @endif
        @endforeach
    </div>
    <button type="submit" class="btn btn-primary">Submit</button>
</div>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/1000hz-bootstrap-validator/0.11.5/validator.min.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
    $("input[type='radio']").click(function()
    {
        var radioValue = $("input[name='answer']:checked").val();
        //$(".crud-submit").click(function (e) {
            // e.preventDefault();
            var form_action = $("#quiz_module").find("form").attr("action");
            var user_id = $("input[name='user_id']").val();
            var category_id = $("input[name='category_id']").val();
            var question_id = $("input[name='question_id']").val();
            //var radioValue = $("input[name='answer']:checked").val();

            $.ajax({
                type: 'POST',
                dataType: 'json',
                url: '/store-answer',
                data: { user_id: user_id, category_id: category_id, question_id: question_id, radioValue: radioValue },
                headers: {
                    'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                },
            });
        //});
    });
});
</script>

我正在从数据库中获取所有问题。每个问题有 4 个选项可用。当用户选择任何选项时,我想将答案保存在数据库中。我正在尝试使用 ajax 来保存它,但是有些方法不起作用,有人可以帮我吗?

【问题讨论】:

  • 您所说的“有些方法不起作用”是什么意思?你遇到了什么错误
  • 我的数据没有在数据库中提交,它给出了 500 错误
  • 看到我收到了这个错误prnt.sc/p3x3z3
  • 尝试将它添加到你的js代码的第一个$.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } });
  • 然后我得到POST http://127.0.0.1:8000/store-answer 419 (unknown status)这个错误

标签: php mysql ajax laravel


【解决方案1】:

您必须在刀片文件中使用以下代码。

<meta name="csrf-token" content="{{ csrf_token() }}" />

【讨论】:

猜你喜欢
  • 2013-01-15
  • 1970-01-01
  • 2020-10-19
  • 2018-03-06
  • 2017-10-04
  • 1970-01-01
  • 2015-08-09
  • 1970-01-01
  • 2012-10-01
相关资源
最近更新 更多