1 問題背景
項目中有這樣的需求:根據不同的業務邏輯填寫不同的表單提交到數據庫中, 但是不同的表單之間又有一些字段是一樣的,也就是說在form表單裏存在多個name值相同的 input輸入框,這樣在提交的時候就會有這麼一個問題,有幾個相同name的值提交, 就會傳回給後臺幾個相同的值,默認是以逗號分隔的,即使是空值,也會逗號把兩個空值隔開。 這就給後臺處理造成了不便,問題由此產生。
2 解決方法
2.1 後臺處理
直接把問題拋給後臺,讓後臺去解析,不是不可以,但是很明顯不是好的解決方案, 既顯示不出來前臺的業務功底,更會讓後臺很反感。
2.2 前端處理
2.2.1 分析
表單之間存在互斥關係,也就是說,相同name屬性的表單並不能同時提交, 每次提交只不過是根據規則提交符合要求的表單,這樣就給我們處理帶來了便利。
2.2.2 解決
把每一個表單放入一個大的div中,在提交之前(或者索性在展示之前) 就把不會用到的表單所在的div刪掉就可以了,如果是用的jQuery,那麼可以直接使用 remove()方法。如果使用的是其他的JavaScript庫,就需要找到對應的方法了, 一個正常的庫都是應該具備這些基礎方法的。
歡迎志趣相投的朋友一起學習交流!
本人qq:906570770
技術資料分享羣:272811256