2011-11-18 39 views
0

我有一個消費者網站,它爲用戶提供了一個允許用戶提交他們的批准的批准表單,但是我想根據所做的某些選擇限制表單編號提交,以及先前的選擇已提交。截至目前,即使用戶批准後,用戶仍然可以訪問該表單,並且我們希望在批准後停止提交。基於表單選擇的限制表單提交

有3組選擇的:[在第一初始選項,沒有任何其他組應該被示出]

集1

批准(單選按鈕)

不贊成(單選按鈕)

設置2 [該設置取決於設置1的選擇。如果選擇了Set 1中的「Disapprove」,則應顯示此組。否則,它會被隱藏。]

修訂(單選按鈕)

校正(單選按鈕)

集3 [本集是依賴於集2的選擇(當然設置2可見)。如果「修正」或「校正」,從組1中選擇,然後顯示不是「修訂文本」或基於來自組相應的選擇「校正文本」 2]

修訂文本(文本區域)

更正文本(textarea)

第2組依賴於第1組,而第3組依賴於第2組的選擇。

好了,這些都是提交總我想根據所做的選擇:

  • 如果用戶...... 第一批准,動態總提交設置爲1。表單不會提交下一次,計算當前提交爲1

  • 如果用戶...... 第一不贊成,動態設定總意見書2。剩餘的一個更提交,計數當前提交爲1

  • 如果用戶... 第一批准,然後不贊成,動態設定總提交至3。剩餘的一個更提交,計數當前提交爲1

  • 如果用戶... 第一不贊成然後批准,動態設定總提交到2。剩餘一個提交內容,將當前提交的內容計爲1.

  • 如果用戶...首先不贊成,然後選擇修改,顯示修訂textarea和動態設置提交總數爲2。剩餘的一個更提交,計數當前提交爲1

  • 如果用戶... 第一不贊成和隨後選擇校正顯示校正textarea的和動態設定總提交到2。剩餘一個提交內容,將當前提交的內容計爲1.

這是我希望提交限制的一般模式。所以基本上,如果用戶同意,他們不能再提交表格。如果用戶不同意他們只允許2個額外的提交。我還沒有完全解決,但我希望得到一些專家的建議和幫助。

另一個要考慮的是任何替代方案,如果用戶已禁用JavaScript和關閉Cookie(如果給定的解決方案需要他們。)

+0

如果我們不知道服務器端使用的是什麼語言,那麼幫助您想出一個非JS的解決方案並不容易......您還可以解釋您確實遇到了哪些問題用?計算他們被允許/計數的提交數量/ ???你到目前爲止嘗試過什麼,爲什麼它沒有工作? – Basic

+0

另外,你能澄清你提交的意思嗎?例如,在您最後的場景中,用戶拒絕,然後更正,添加一些文本並最終提交表單 - 接下來會發生什麼?他們獲得完全一樣的表格,以便他們可以再次提交?或者您是否在每個選項之後設想「提交」? – Basic

+0

@Basiclife,感謝您的參與。我真的想要一個適合我的情況的獨特解決方案,這就是爲什麼我沒有包含我沒有的解決方案(我的文章的原因)。我在PHP開發,並會一個JS解決方案(帶有禁用的解決方法)或非JS解決方案。至於解決方案是js還是非js,這不是一個請求,只是說*如果解決方案是基於javascript的,或者依賴於啓用了cookie,那麼如果它們沒有啓用,那麼解決方法是什麼?因爲我請參閱這些類型的表單解決方案是基於js的,這取決於記住用戶信息的Cookie。 – gdinari

回答

1

應對「非JavaScript」,你需要讓現場工作沒有腳本支持。這總是第一步。無論如何,所有的驗證和邏輯都必須複製到服務器上,因爲您無法控制客戶端。

一旦你的頁面在沒有腳本的情況下工作,你就可以編寫客戶端腳本(比如通過AJAX提交)來提供更多功能或者更高效的用戶界面。

+0

解釋:「爲了不處理JavaScript,你需要讓你的網站在沒有JavaScript的情況下工作」。循環很多? – Basic

+0

@RobG,謝謝。我確實考慮過ajax,但從未在其中開發過,因此希望使用該語言的一些示例或解決方案。 – gdinari

+0

@gdinaro AJAX真的很簡單 - 想象一下你的瀏覽器從服務器請求一個頁面,除了不是將它顯示給用戶,javascript會將內容作爲一個stringxml文檔來獲取。如果你正在走下JS路線,那麼讓jQuery變得更容易 - 1行代碼:)'$。ajax()' – Basic