SpringBoot日記——刪除表單-Delete篇


  增刪改查,我們這篇文章來介紹一下如何進行刪除表單的操作,也就是我們頁面中的刪除按鈕的功能。

  下邊寫的可能看起來有點亂,請仔細的一步一步完成。

  刪除功能第一步,按鈕功能實現

1. html的改變  

來看,我們最初,刪除按鈕是一個button的標簽

<button class="btn btn-sm btn-danger">刪除</button>

想要讓它實現刪除功能,首先要確定的是,刪除的是一個表單記錄,就是這個用戶的表單信息。那么,我們來添加一個表單的刪除功能,而且是delete請求的,參照之前的put請求:

<form th:action="@{/emp/}+${emp.id}" method="post">
  <input type="hidden" name="_method" value="delete"/>
  <button type="submit" class="btn btn-sm btn-danger">刪除</button> 
</form>

  如上,我們就把刪除功能在HTML上修改好了,然后是一個control方法

  2. LoginController的中刪除用戶的功能添加:

    // 刪除員工
    @DeleteMapping("/emp/{id}")
    public String deleteEmployee(@PathVariable("id") Integer id) {
        employeeDao.delete(id);
        return "redirect:/emps";
    }

  3. 前后端的代碼,我們寫好了,來看下效果:(圖1:刪除前。   圖2:刪除后)

 

  是不是覺得哪里有點別扭,沒錯,右邊的按鈕從橫排變成了豎排,因為我們刪除表單的操作,是增加了一個form,使得這里變得過於厚重,每一個刪除按鈕都是一個表單的形式展現,所以,我們需要來優化一下。

 

HTML優化-加入js

  直接來看我們要做怎樣的優化。

  1. 首先,將form表單從按鈕那里拿出來:(圖1,是拿出來的  圖2,是原位置)

 

 

   注意,我們提交刪除表單的時候,是點擊刪除按鈕,可form拿出去就不生效了,怎么辦?

  2. 我們這里使用js的寫法,將這個功能實現:

  2.1 記得將引入的樣式都用th:的形式注入;

  2.2 我來說明一下,代碼修改的步驟:

    2.2.1 首先,為了在js中對刪除這個按鈕做操作,我們在class中加一個屬性值,我這里起名叫:deleteBtn

class="btn btn-sm btn-danger deleteBtn">刪除</button>

      然后寫出js-jQuery:

      (記得引出jQuery的webJars,“.xx”表示對這個class做操作,什么操作呢?click,click一個事件function,返回一個fasle是為了取消這個按鈕的默認行為。既然取消了按鈕的行為,那么上邊按鈕的type也要刪除掉)

     2.2.2 其次,js中並不認識我們th模板中的那些路徑拼接,所以我們要這樣自定義一下:    th:attr("xxxx")

       我們再對fom這里做一個操作,加一個id,用來識別這個標簽;

 

    2.2.3 最后,來看這下邊的是什么意思:#引用id,然后引用自定義的操作實現一個動作,動作的value是 $(this).attr("del_uri)).submit();【這個按鈕 的 觸發這個路徑拼接 的 提交】  ,是不是這樣中文式的英文翻譯,看代碼就相對好理解了呢?

 

然后在頁面中點擊刪除,就可以完成了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM