多個相同引數表單提交

2022-01-31 12:40:06 字數 615 閱讀 4849

現在需要使用非同步提交表單資料(querystring方式),但資料個數比較多,乙個個拼接比較麻煩,這時可以使用jquery的方法$("form").serialize()對表單進行序列化。但是如果這時,資料中有幾個是相同的name屬性,這是在後台使用request[".."]就只能接收第乙個的值。於是,問題就來了,下面是解決方案:

這時候可以在前端提交的時候處理一下,方法是:遍歷選中的checkbox,得到value值,拼接(用逗號分隔),再提交到後台。對於資料比較多的情況,這種方法,比較麻煩並且$("form").serialize()這個方法就浪費了。

更好的辦法是,在後端直接使用request.params[".."]來接收,這時得到的就是用逗號分割的字串。

舉個栗子:比如在為使用者設定角色時,一般使用checkbox來顯示角色。因為乙個使用者可以有多個角色,這時在提交的時候因為checkbox具有相同的name屬性,就會出現多對值(key相同),這時候就可以用request.params[".."]來獲取選定的角色的id(checkbox的value存放的是角色表的id)了。

變長參數列

以實現函式printf的乙個最簡單版本為例,介紹如何以可移植的方式編寫可處理變長參數列的函式。因為我們的重點在於引數的處理,所以,函式minprintf只處理格式字串和引數,格式轉換則通過呼叫函式printf實現。函式printf的正確宣告形式為 int printf char fmt,其中,省略號...

系統參數列的設計

create table t systemprofile fsystemprofileid bigint not null,系統參數列id fcategory varchar 30 not null,類別 fkey varchar 30 not null,類別下的表示符號 fvalue nvarch...

可變參數列函式的原理及實現

ansi c中庫函式printf的正確形式如下 int printf char fmt,其中,省略號表示參數列的數量和型別是可變的。省略號只能出現在參數列的尾部。如何實現這樣乙個具有可變參數列的函式?在 the c programme language 中實現了這樣乙個示例函式 void minpr...