2010-01-08 76 views
0

下面是生成按鈕的代碼,但我希望它在超文本中,如何修改?如何將按鈕更改爲RoR中的超文本

<% form_remote_tag (:url => { :action => :choose_category, :id => category }) do %> 
    <%= submit_tag category.name %> 
<% end %> 

我試圖用link_to,但不能提交POST方法,我該怎麼辦?

+0

'link_to'可以做POST,使用':method =>:post'。它使用JavaScript來完成它。它不會複製該帖子的偏遠性質。 – jamuraa

回答

2

如果我理解正確的話,你想替換在發佈代碼的提交按鈕與一個普通的超鏈接(<a>標籤)。檢查出link_to_remote。要了解生成的JavaScript代碼,您可能還需要查看Prototype的文檔Ajax.Updater

0

超級鏈接無法提交POST(不是在我知道的任何瀏覽器中,至少)。表單通常是發佈某些數據的最佳方式。

但是,您可以做的是在您的頁面上創建一個表單(使用適當的方法和字段),然後使用將提交表單的處理程序創建一個超鏈接。我不熟悉RoR給你一個例子,但它應該是標準的超鏈接生成函數的微不足道的變化。

(請注意,onclick處理應當返回false防止鏈路本身被跟蹤;和理想的超鏈接的href會去一些可以接受的頁面,如果人們已禁用JavaScript)

0

鏈接不能在技術上提交表格。這意味着你僅限於JavaScript,請檢查link_to_function。你需要要提交,然後你可以寫一些JavaScript等形式的id

$('the_forms_id').submit(); return false; 
相關問題