2013-03-12 42 views
2

我每次需要爲網站進行表單處理時,都使用PHP編碼。當寫那裏有陣列HTML表單,所以經常使用方括號:無論處理腳本語言如何編寫可移植的HTML表單?

<input type="text" name="fav_food[]"/> 
<input type="text" name="fav_food[]"/> 
<input type="text" name="fav_food[]"/> 

我最近需要寫爲從ASP背景受訪表單處理的試紙。所以我對「POST數組到ASP」進行了一些研究,並且發現了很多描述MVC模型的技巧和竅門的文章,這些文章對我的小腦和ASP知識水平來說過於複雜。

blog例如展示如何做到這一點的ASP:

<input type="text" name="fav_food"/> 
<input type="text" name="fav_food"/> 
<input type="text" name="fav_food"/> 

不幸的是,這不會對PHP的工作。這讓我想知道是否有一種「動作=」獨立的HTML編寫方式,這樣無論處理腳本的語言如何,它都可以工作。

另外,ASP如何看PHP表單?它會變成一系列「fav_food」或「fav_food []」還是失敗?

+5

括號是對PHP固有設計愚蠢的補償。如果在處理提交時多次遇到表單字段名稱,大多數其他Web處理語言將自動構建數組。默認情況下,PHP不會,只是用'newer'值覆蓋以前的值,除非你告訴php做一個數組,而不是'']'進來。這就是說,你很少需要做一個「通用」形式,可以通過任何後端語言進行處理。通常該HTML是由該語言開始建立的。 – 2013-03-12 15:44:09

回答

0

爲了保持所有的獨立性,我會說在HTML和服務器端代碼之間添加一些javascript/jquery。用jQuery收集輸入,根據需要設置JSON的格式,然後對URL執行$ .post(),無論是PHP還是ASP,並在腳本代碼中處理JSON。

0

ASP.NET MVC也支持方括號表示法(儘管略有不同)。關於此主題的最佳資源:http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx

如果您需要重用HTML表單,則必須調整服務器端處理。 ASP.NET MVC有一個非常靈活的綁定解決方案,可以用來適應任何形式。你也可以在PHP中做一些額外的處理。