如果用户单击保存,我如何确保删除多个图像

问题描述

我相信这可以通过jquery完成。我有一个编辑预览,允许用户删除图像。每幅图像都有一个x按钮,如果单击该按钮会指向 destroyImg 功能。这里的问题是,删除操作甚至在用户单击保存按钮之前发生。目的是如果用户单击“保存”,则仅允许销毁打算删除的许多图像。 enter image description here

刀片文件

@for($i=0;  $i< count($image = $post->images()->get()); $i++)
    @if($i==0)
        <div class=" ">
            <div class="editImages ">
                <div class = "img-order" > 
                    <img class="posts-img crop" src="/images/{{$image[$i]['image']}}" alt="first slide">   
                </div>
            </div>
        </div>
             
    @else
        <div class="">
            <div class="editImages">
                <div class = "img-order" > <img class="posts-img crop" src="/images/{{$image[$i]['image']}}" alt="first slide">   
                </div>
            </div>
        </div>
    @endif
    <form action="/trash/img-edit/{{$image[$i]->id }}" enctype="multipart/form-data" method="POST">
      
        @csrf
        @method ('DELETE')
                 
        <div class="">
            <div class="form-group row">
                <div class="">
                    <button>&times; </button>
                </div>
            </div>
        </div>
    </form> 
@endfor

<form action="/p/update/{{ $post->id}}" enctype="multipart/form-data" method="POST">

    @csrf
    @method ('PATCH')

           <label for="image" class="col-md-4 col-form-label text-md-right">{{ __(' post image') }}</label>
                <input type="file",class="form-control-file" id ="image" multiple = "multiple" name="image[]">
    @error('image')
           <div class="invalid-feedback" role="alert">
               <strong>{{ $message }}</strong> 
          </div>       
    @enderror

          <label for="about" class="col-md-4 col-form-label text-md-right">{{ __(' write something here') }}</label>
               <input id="about" type="text" class="form-control 
  @error('about') is-invalid @enderror" name="about"  value="{{ old('about') ?? $post->about }}" required autocomplete="about" autofocus>

  @error('about')
        <span class="invalid-feedback" role="alert">
            <strong>{{ $message }}</strong>
        </span>
    @enderror
          
    <div class="btn btn-primary">
        <button> save </button>     
    </div>
</div>
</div>
</form>

后控制器

public function destroyImg(images $images,$id)
{
    $try = images::find($id); 
    $try->delete();
   
    if (Auth::guard('web')->check()){
        $user = Auth::guard('web')->id() ;
        return redirect()->route('home',['user'=>$user]);
    }
    if (Auth::guard('SuperAdmin')->check()){
        $admin = Auth::guard('SuperAdmin')->id() ;
        return redirect()->route('admin.dashboard',['admin'=>$admin]);
    }
}

public function update(Post $post,Request $request)
{
    
    $data = request()->validate(['about' => 'required',]);
    $post->update( $data);
    if($request->hasFile('image')) {
        $files = $request->file('image');
        foreach($files as $file) {
             
            $name = time().'-'.$file->getClientOriginalName();
            $name = str_replace('','-',$name);
            echo $name;
                
            $file->move('images',$name);
                
            $post->images()->create(['image' => $name ]);
        }
    }

    if (Auth::guard('web')->check()) {
        $user = Auth::guard('web')->id() ;
        return redirect()->route('home',['user'=>$user]);
    }

    if (Auth::guard('SuperAdmin')->check()) {
        $admin = Auth::guard('SuperAdmin')->id() ;
        return redirect()->route('admin.dashboard',['admin'=>$admin]);
    }
}

路线

Route::delete('/trash/img-edit/{oneimage}','PostController@editDestroyImg')->name('edit.delete');
Route::patch('/p/update/{post}','PostController@update')->name('post.update');

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...