首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Livewire提交表单在数据库中创建重复记录

Livewire提交表单在数据库中创建重复记录
EN

Stack Overflow用户
提问于 2021-06-22 13:15:32
回答 1查看 151关注 0票数 0

我有一个模式的表单,我正在使用Livewire,实际发生的情况是,当我提交表单时,一切正常,但它只是创建了重复的记录!第一次创建2个副本,第二次创建3个或更多副本。我不知道该怎么解决这个问题!如果你能帮忙,我将不胜感激。

这是我的livewire视图文件:

代码语言:javascript
运行
复制
    <div class="modal fade" id="createProfessionModal" data-backdrop="static" tabindex="-1" role="dialog" aria-labelledby="staticBackdrop" aria-hidden="true">
        <div class="modal-dialog modal-dialog-centered" role="document">
            <div class="modal-content">
                <!--begin::Container-->
                <div class="card card-custom card-shadowless rounded-top-0">
                    <!--begin::Body-->
                    <div class="card-body p-0">
                        <div class="row justify-content-center py-8">
                            <!--begin::Wizard Form-->
                            <form class="form fv-plugins-bootstrap fv-plugins-framework" id="createProfessionForm" method="post" wire:submit.prevent="store">
                                <div class="justify-content-center">
                                    <!--begin::Wizard-->
                                    <div class="my-5 step">
                                        <h5 class="text-dark font-weight-bold mb-10">ایحاد حرفه جدید</h5>
                                        <!--begin::Group-->
                                        <div class="form-group row fv-plugins-icon-container">
                                            <label class="col-form-label" for="profession_title">عنوان حرفه</label>
                                            <div class="col-lg-9 col-xl-9">
                                                <input id="profession_title" class="form-control form-control-solid form-control-lg" wire:model.defer="title" name="title" type="text">
                                                <div class="fv-plugins-message-container"></div>
                                            </div>
                                        </div>
                                        <!--end::Group-->
                                        <button type="submit" class="btn btn-primary font-weight-bolder px-9 py-4" >ایجاد</button>
                                        <button type="button" data-dismiss="modal" class="btn btn-outline-info font-weight-bolder px-9 py-4" >بستن</button>
                                    </div>
                                    <!--end::Wizard-->
                                </div>
                            </form>
                        </div>
                    </div>
                </div>
                <!--end::Wizard Form-->
            </div>
        </div>
    </div>

脚本:

代码语言:javascript
运行
复制
document.addEventListener('DOMContentLoaded', function () {
  $('#createProfessionForm').on('submit', function (e) {
      e.preventDefault();

      let professionValue = $('#profession_title').val();

      @this.set('title', professionValue, true);
      @this.store();
  })
})

这是我的组件

代码语言:javascript
运行
复制
    public string $title;

    public function store()
    {
        try {
            $profession = new Profession();
            $profession->name = $this->title;
            $profession->save();
            session()->flash('success', 'عملیات با موفقیت انجام شد.');
        } catch (\Exception $exception) {
            session()->flash('error', __($exception->getMessage()));
        }
    }
EN

Stack Overflow用户

发布于 2021-06-22 17:28:53

如果你使用的是livewire,你不需要像这里那样在Javascript中绑定事件。

因为如果这样做,请求就会触发两次。您也可以在网络中检查相同的内容。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68077886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档