鍍金池/ 問答/Java  PHP  網(wǎng)絡(luò)安全  HTML/ form表單提交時候有多個相同name 的input如何處理?

form表單提交時候有多個相同name 的input如何處理?

1,有這樣一種場景,首先是一個form表單,然后 form里面是一個個的Item, 每一個item內(nèi)部包含了一個input輸入框。

當用戶填寫表單 時候,不同用戶可能會通過點擊按鈕 添加多個Item到form表單中, item表單中的數(shù)據(jù)本質(zhì)上會映射到一個Bean對象中。 所以可能 一個form中有多個Item,然后相當于提交了多個Bean對象。

比如說
<form>

<form>
 <div class="form-group ">
         <input name="xxx"/>
         <input name="yyy"/>
</div>
 <div class="form-group ">
  <input name="xxx"/>
  <input name="yyy"/>
</div>

</form>

有一個Bean 包含xxx,yyy屬性,然后顯然一個form-group 可以映射為一個xxx,yyy。

如果有多個form-group那么在提交的 時候會不會僅僅提交一個form-group ,也就是一個xxx,一個yyy; 因為畢竟提交數(shù)據(jù)中雖然有多個xxx,但是名稱重復了。

如何提交這樣的數(shù)據(jù)??

=====================
測試結(jié)果:


    <form action="/test/form" method="post">

        <div>
            <input type="text" name="username" /> <input type=text
                name="password" />


        </div>
        <div>
            <input type="text" name="username"/> <input type=text
                name="password" />


        </div>
        <input type="submit" value="登陸"/>
    </form>

clipboard.png

數(shù)據(jù)上傳成功。

第一種方案:
Map<String, String[]> parameterMap = request.getParameterMap();

clipboard.png

這個結(jié)果吧數(shù)據(jù)混在一起了,雖然能從順序上看出 哪個和哪個是一對。

回答
編輯回答
我以為

使用request.getParameterMap()返回Map集合,key為name屬性,value為String數(shù)組

2017年5月1日 19:41
編輯回答
孤巷

加中括號

<input type="text" name="abc[]" />
2018年3月3日 20:27
編輯回答
空痕

問題是,你究竟要多少數(shù)據(jù),不同用戶數(shù)據(jù)的匯總?要去重么?

答:在表單里已經(jīng)有 name='xxx',就彈窗提示,除了特殊的 checkbox

還是每個用戶的點擊分開來?分開發(fā)送?

答:前端 js 去控制,不同的form-group作為一組數(shù)據(jù)發(fā)送

當用戶填寫表單時候,不同用戶可能會通過點擊按鈕 添加多個Item到form表單中,不同用戶的點擊為什么會匯集到一張表單里?

2017年12月19日 23:07
編輯回答
我以為
<input type="text" name="username[]" />
<input type="text" name="password[]" />

<input type="text" name="username[]" />
<input type="text" name="password[]" />
2017年12月5日 09:33