【问题标题】:Select Required Not Work after i use ajax ,laravel 8在我使用 ajax,laravel 8 后选择必需的不起作用
【发布时间】:2022-01-20 05:31:12
【问题描述】:

我有一个模态表单

<!-- Modal UBAH -->
    <div class="modal fade" id="modalTambahBarangKeluar" tabindex="-1" aria-labelledby="modalTambahBarangKeluar"
        aria-hidden="true">
        <div class="modal-dialog box text-black">
            <div class="modal-content">
                <div class="garis"></div>
                <div class="modal-header">
                    <h5 class="modal-title ml-auto" id="modalLabel">Tambah Barang</h5>
                    <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
                </div>
                <div class="modal-body">
                    <form action="/inventaris/tambahbarangkeluar" method="post">
                        @csrf
                        <input type="hidden" id="id_barang" required name="id">
                        <div class="row">
                            <div class="mb-3 col-lg-6">
                                <label for="nama" class="form-label">Nama Barang</label>
                                <input type="text" class="form-control" id="nama" required placeholder="Nama Barang"
                                    name="nama">
                            </div>


                            <div class="mb-3 col-lg-6">
                                <label for="jumlah_barang_keluar" class="form-label">Jumlah Barang Keluar</label>
                                <input type="number" class="form-control" id="jumlah_barang_keluar" required
                                    placeholder="Jumlah Barang Keluar" name="jumlah_barang_keluar">
                            </div>

                            <div class="mb-3 col-lg-6">
                                <label for="id_role" class="form-label">Role Pembawa Barang</label>
                                <select class="form-select" aria-label="select-id_role" required id="id_role" name="id_role">
                                    <option disabled selected>Siswa/Guru/Warga/dll</option>
                                    @foreach ($data_level as $level)
                                    <option value="{{ $level['level'] }}">{{ $level['level'] }}</option>
                                    @endforeach
                                </select>
                            </div>

                            <div class="mb-3 col-lg-6">
                                <label for="id_kelas" class="form-label">Kelas Pembawa Barang</label>
                                <select class="form-select" aria-label="select-id_kelas" required id="id_kelas" name="id_kelas" disabled>
                                    <option disabled selected>XII-RPL 2/XI-RPL 2/dll</option>
                                    @foreach ($dataKelas as $kelas)
                                        <option value="{{ $kelas['id'] }}">{{ $kelas['nama_kelas'] }}</option>
                                    @endforeach
                                </select>
                            </div>

                            <div class="mb-3 col-lg-6">
                                <label for="nama_pembawa" class="form-label">Nama Pembawa Barang</label>
                                <select class="form-select" aria-label="select-nama_pembawa" required id="nama_pembawa" name="nama_pembawa">
                                    <option disabled selected>Nama Lengkap</option>
                                </select>
                            </div>

                            <div class="mb-3 col-lg-6">
                                <label for="id_keterangan_keluar" class="form-label">Keterangan</label>
                                    <select class="form-select" aria-label="select-keterangan" required id="keterangan" name="keterangan">
                                        <option disabled selected>Hilang/Dijual/Rusak</option>
                                        <option value="hilang">Hilang</option>
                                        <option value="dijual">Dijual</option>
                                        <option value="rusak">Rusak</option>
                                        <option value="lainya">Lainya</option>
                                    </select>

                            </div>

                            <div class="mb-3 col-lg-12">
                                <label for="keterangan_tambahan" class="form-label">Keterangan Tambahan</label>
                                <input type="text" class="form-control" id="keterangan_tambahan" placeholder="Keterangan_tambahan"
                                    name="keterangan Tambahan">
                            </div>


                        </div>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
                    <button type="submit" class="btn btn-primary">Simpan Data</button>
                </div>
                </form>
            </div>
        </div>
    </div>

在我添加脚本 jquery 以填充 #nama_pembawa 选项之前,所需的功能是有效的,但现在,如果我只填写 #nama_barang 和 #jumlah ,它直接提交它而不检查是否需要选择选项

这是我的脚本

//Barang Keluar
    //tambah
    $(".tombolTambahBarangKeluar").on("click", function () {
        $("#modalLabel").html("Tambah Data Barang Keluar");
        $(".modal-footer button[type=submit]").html("Tambah Barang Keluar");
    });

    $("#id_role").on("change", function (e) {
        var role = e.target.value;
        $("#nama_pembawa").empty();
        if (role == "Admin" || role == "Operator" || role == "Guru") {
            $("#id_kelas").prop("disabled", true);
            $.ajax({
                headers: {
                    "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr(
                        "content"
                    ),
                },
                url: "/inventaris/getdataguru",
                method: "post",
                dataType: "json",
                success: function (data) {
                    $.each(data, function (i, data) {
                        $("#nama_pembawa").append(
                            $("<option>", {
                                value: data.id,
                                text: data.nama,
                            })
                        );
                    });
                },
            });
        } else {
            $("#id_kelas").prop("disabled", false);
            $("#id_kelas").on("change", function (e) {
                var id_kelas = e.target.value;
                $("#nama_pembawa").empty(); 
                $.ajax({
                    headers: {
                        "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr(
                            "content"
                        ),
                    },
                    url: "/inventaris/getdatasiswa",
                    method: "post",
                    data: { id_kelas: id_kelas },
                    dataType: "json",
                    success: function (data) {
                      console.log(data);
                        $.each(data, function (i, data) {
                            $("#nama_pembawa").append(
                                $("<option>", {
                                    value: data.id,
                                    text: data.nama,
                                })
                            );
                        });
                    },
                });
            });
        }
    });
});

是我的脚本错误,而第一个选择选项没有值,只有在 jquery 提供新选项后才会有值,

我所做的只是输入物品名称和数量,根本没有改变选择输入,

但是当我提交时,它并没有说明选择输入需要

【问题讨论】:

    标签: javascript php mysql select laravel-8


    【解决方案1】:

    我刚刚向option disabled 添加了一个空值并选择如下:

    <option disabled selected value="">XII-RPL 2/XI-RPL 2/dll</option>
    

    现在它可以工作了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-29
      • 2017-05-10
      • 2019-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-31
      • 1970-01-01
      相关资源
      最近更新 更多