【问题标题】:How to get input radio name with many different name in laravel如何在laravel中获取具有许多不同名称的输入电台名称
【发布时间】:2018-06-26 03:17:52
【问题描述】:

在这个项目中,我做了一些类似在线测试的东西。我的问题是如何在 laravel 中获得具有许多不同名称的电台名称?我使用 id 来区分他们的名字,但我无法在控制器中获取他们的名字。

这是我的看法

<form action="{{url('kumpulkan')}}" method="POST" class="responsive-form">
            <input type="hidden" name="_token" value="{{ csrf_token() }}">
            @if(Session::get('jurusan') == Multimedia)
                <?php 
                    $no = 1;
                 ;?>
                @foreach($soal_multimedia as $row)
                <div class="row">
                    <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
                        <div class="wrapper-soal">
                            <div class="pertanyaan">
                                <span class="no-soal"><?php echo $no++ ;?>. </span> <span class="teks-soal">{{$row->soal}}</span>
                            </div>
                            <div class="jawaban">
                                <input type="number" readonly="readonly" name="id_soal" value="{{$row->id}}" hidden="hidden">
                                <div class="jawaban-item jawaban-a">
                                    <input type="radio" name="jawaban_{{$row->id}}" value="{{$row->jawaban_a}}"> {{$row->jawaban_a}}
                                </div>
                                <div class="jawaban-item jawaban-b">
                                    <input type="radio" name="jawaban_{{$row->id}}" value="{{$row->jawaban_b}}"> {{$row->jawaban_b}}
                                </div>
                                <div class="jawaban-item jawaban-c">
                                    <input type="radio" name="jawaban_{{$row->id}}" value="{{$row->jawaban_c}}"> {{$row->jawaban_c}}
                                </div>
                                <div class="jawaban-item jawaban-d">
                                    <input type="radio" name="jawaban_{{$row->id}}" value="{{$row->jawaban_d}}"> {{$row->jawaban_d}}
                                </div>
                            </div>
                        </div>                      
                    </div>
                </div>                      
                @endforeach
            @endif
            <button class="btn btn-default btn-lg">Selesai</button>
            </form>

这是我的控制器

    public function Postkumpulkan(Request $request)
{
    $insert = array();
    $insert['id_soal']    = $request->get('id_soal');
    $insert['nama']       = Session::get('nama');
    $insert['no_peserta'] = Session::get('no_peserta');
    $insert['sekolah']    = Session::get('sekolah');
    $insert['jurusan']    = Session::get('');
    $insert['jawaban']    = $request->get('jawaban_{{$row->id}}');

}

【问题讨论】:

  • $row 在你的控制器中来自哪里?
  • 从我的观点中输入电台名称 =“jawaban_{{$row->id}}”,我认为如何获取名称

标签: php html laravel


【解决方案1】:

我认为你最好使用复选框而不是这个命名jawaban_{{$row-&gt;id}}

使用这种jawaban[{{$row-&gt;id}}] 在这种情况下,您可以在一个数组中获取所有jababans

像这样:

$insert['jawaban'] = $request->get('jawaban');

【讨论】:

  • 在这种情况下,每个问题用户只能选择1个选项,所以我选择radio
  • 感谢您的回答,它解决了我的问题。
【解决方案2】:

因为我假设您打算让您的单选按钮作为一个单选按钮工作(是的,您只能选择 1)并且因为这就是单选按钮的工作方式,所以您应该为所有单选按钮提供相同的名称。

<div class="jawaban">
    <input type="number" readonly="readonly" name="id_soal" value="{{$row->id}}" hidden="hidden">
    <div class="jawaban-item jawaban-a">
        <input type="radio" name="jawaban" value="{{$row->jawaban_a}}"> {{$row->jawaban_a}}
    </div>
    <div class="jawaban-item jawaban-b">
        <input type="radio" name="jawaban" value="{{$row->jawaban_b}}"> {{$row->jawaban_b}}
    </div>
    <div class="jawaban-item jawaban-c">
        <input type="radio" name="jawaban" value="{{$row->jawaban_c}}"> {{$row->jawaban_c}}
    </div>
    <div class="jawaban-item jawaban-d">
        <input type="radio" name="jawaban" value="{{$row->jawaban_d}}"> {{$row->jawaban_d}}
    </div>
</div>

然后你可以在控制器中检索它:

 $insert['jawaban'] = $request->get('jawaban');

它将检索选择的单选按钮。

【讨论】:

  • 问题是,不只是一个数据,它是多个数据,所以我必须改变他们的名字。所以我用 id 来改变他们的名字
  • 如果我用相同的名称命名收音机,它只会选择 1 个数据。剩下的就不输入了
  • 然后不要使用单选框,使用复选框并执行相同操作。在这种情况下,它将在您的控制器中返回一个数组
  • 没关系,我用foreach来获取数组数据,谢谢你的帮助
猜你喜欢
  • 2022-07-13
  • 2012-12-30
  • 1970-01-01
  • 1970-01-01
  • 2017-08-03
  • 2013-07-02
  • 2021-11-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多