0
A
回答
3
我會禁用該按鈕而不是隱藏;創建一個較少混淆的界面。
您可以只需添加一個onclick
屬性做到這一點最容易:
<p id="button_<%= review.id %>" onclick="this.disabled=true;"><%= f.submit "vote" %></p>
但是,如果你想隱藏它,你可以使用this.style.display='none';
代替。
$('#button_<%= review.id %>').click(function() {
$(this).remove(); // or $(this).hide();
}
編輯:this shows the difference between Dr.Dredel's and my solution
如果您已經使用jQuery雖然(或打算做這樣的東西很多)(如果我能記得香草JS)onsubmit
版本,以RobG快樂(你必須把它放在<form>
)
<form ... onsubmit="document.getElementById('button_<%= review.id %>').disabled=true;">
他說得對,這樣做更有意義onsubmit
;還有其他方式可以通過按回車來提交表單。想必你還是會想按鈕獲取禁用在這樣的情況下(這如果我沒有記錯的話也會阻止你通過提交輸入兩次)
編輯:爲什麼是的,它http://jsfiddle.net/mnbayazit/9Snna/2/
2
這是基於這樣一種假設,即您希望人們能夠重新訪問原始網頁並且不讓投票按鈕再次顯示,而不是在您點擊投票後隱藏它。如果你想讓它消失並使用ajax,到目前爲止的其他答案解釋瞭如何做到這一點。
在您的控制器中,查看是否有人提交了審覈意見,無論他們在審覈什麼內容。
#this assumes that you have foreign keys user_id and article_id in your reviews table
# and that @article and @user are the objects you're passing down
@posted_review = Review.find_by_user_id_and_article_id(@article.id, @user.id)
然後,在視圖中:
<% if @posted_review.nil? %>
<p id="button_<%= review.id %>"><%= f.submit "vote" %></p>
<% end %>
我離開@posted_review設置爲實際的審查對象,這樣如果你需要,如調用<%= @posted_review你可以訪問它的屬性.created_at%>
相關問題
- 1. PHP按下提交按鈕後如何讓表格消失
- 2. 讓「提交」按鈕在點擊後消失
- 3. 提交按鈕值消失
- 4. 按鈕消失提交
- 5. 在IE7中消失提交按鈕
- 6. 使提交按鈕消失點擊時
- 7. 提交按鈕在提交時不會消失
- 8. jQuery提交失敗後禁用按鈕
- 9. 在提交後禁用提交按鈕
- 10. 點擊「提交按鈕」後文本迅速消失
- 11. 按鈕點擊後頁面提交表格消失
- 12. 提交一個提交按鈕
- 13. 使用取消按鈕單擊提交按鈕後防止表單提交
- 14. 提交按鈕取消
- 15. HTML消失後提交
- 16. 一次提交後,jquery表單消失
- 17. 讓一個提交按鈕觸發一個模式
- 18. 單擊按鈕,然後彈出一個dialogthen提交按鈕
- 19. 提交後隱藏提交按鈕?
- 20. 提交後啓用提交按鈕
- 21. 在PHP中按下「提交」按鈕後,變量值丟失
- 22. ExtJS提交兩個表單提交一個提交按鈕
- 23. UINavigationBar後退按鈕消失
- 24. 動畫後按鈕消失
- 25. 如何在按下提交按鈕後在PHP中取消設置一行?
- 26. 提交後禁用按鈕
- 27. 點擊提交後按鈕
- 28. 表單提交讓div消失
- 29. BeginFormSitefinity表單在提交後消失
- 30. 複選框在提交後消失
是的,一旦頁面重新加載,按鈕將不會顯示。我有一個輔助方法來做到這一點。 – chief
請確保並在每個瀏覽器中檢查它是否會繼續提交(並且不會在AJAX調用中捕獲)。否則,它可能無法在某些瀏覽器中工作(如在表單中可能無法提交),並且可能會被燒燬。 –
使用表單的提交事件來禁用按鈕,刪除它可能會造成混淆。 – RobG