2011-09-20 59 views
1

我試圖圍繞這個來包裹我的頭。我的語言是使用PlayFramework的Java,但我認爲任何使用PHP的答案,或在軌道上的紅寶石會讓我在正確的方向。基本上用戶可以以這種形式添加或拿走多個托盤。還需要每個標籤都有一些javavscript計算。一切都是使用輸入更改jquery事件觸發的,因此沒有提交按鈕。我的第一個模型使用UUID,但這似乎讓我無處可去。根據用戶輸入提交可變長度表格

enter image description here

enter image description here

會發生什麼事是每個選項卡是承擔一切做計算像周邊。我的第一個問題是如何爲特定選項卡調用JavaScript。我首先使用UUID和每個選項卡單獨的腳本完成它。這似乎不正確。

我的第二個問題是提交這些數據。顯然名稱參數需要不同。所以我在這件事上撓頭。每個托盤都會標上一個ID,所以我不擔心後端,就像我試圖弄清楚前端和控制器的結構一樣。

任何幫助將是偉大的。謝謝。

回答

1

對於javascript部分,假設所有選項卡都具有相同的結構,請創建一個通用方法,該方法接收並將id(選項卡的id)作爲參數,然後從計算中檢索適當的字段。喜歡的東西:

function doCalc(tabId){ //assumes jquery 
    var tab = $("#"+tabId); 
    var field1 = $("#"+tabId+"_field1"); 
    var field2 = $("#"+tabId+"_field2"); 
    //...etc to retrieve tabs 
} 

該方法假定,當你創建一個標籤「tabId」和它的元素,生成公式「tabId_」的元素,這將有助於找到他們的ID。

關於提交,使用Play!你應該檢查這個關於Ajax請求的section。它可以和計算(上面的方法)一樣簡單,最後通過Ajax調用Play方法。此方法將獲得托盤(給定選項卡的托盤)的所有參數(id,值等)並保存。

1

對於提交,我假設你正在試圖弄清楚如何保存和傳遞一個bean中的數據。怎麼樣有一個字段如下:

LinkedHashMap<String, LinkedHashMap<String, Object>> field; 

內部地圖將在托盤上的字段列表。外部地圖是托盤。