2013-10-08 71 views
0

這裏是簡單形式的quote_task字段。如何在rails 3.2中爲simple_form字段添加html鏈接?

<%= f.input :quote_task, :label => t('Quote Task'), :input_html => {:value => @quote_task.id}, :readonly => true %> 

現在我們要爲@ quote_task.id添加一個嵌入式html鏈接來顯示quote_task的內容。當用戶點擊該ID時,他將被引導至報價任務的內容。例如:

<%= f.input :quote_task, :label => t('Quote Task'), :input_html => {:value => (link_to @quote_task.id.to_s, quote_task_path(@quote_task.id))}, :readonly => true %> 

有沒有辦法在simple_form中做到這一點?感謝幫助。

回答

1

您對HTML的期望超出了任何可能的語義。

http://www.w3schools.com/tags/tag_input.asp http://www.w3.org/html/wg/drafts/html/master/forms.html#the-input-element

是的,它是可能的,當在輸入點擊,它會顯示所需的內容。但是沒有JS不可能使用

輸入:使用jQuery

<%= f.input :quote_task, :label => t('Quote Task'), :readonly => true, class="redirecter", :'data-quote-task-path'=>quote_task_path(@quote_task.id) %> 

咖啡腳本:

#app/assets/javascript/my_input.coffee 
jQuery -> 
    $('input.redirecter').click -> 
    path = $(this).data('quote-task-path') 
    document.write(path); # ugly redirect, use Ajax 

簡單的解決方案,但更好,如果你加載從服務器的一些內容,你的頁面會阿賈克斯http://api.jquery.com/jQuery.ajax/

但我的意見是,你不應該這樣做。輸入用於表單,表單用於提交數據。由於HTML語義,你應該真正使用的是純粹的link_to,沒有任何輸入。如果你希望它看起來像輸入,你可以把它看起來像輸入,點是不要強姦input標籤爲什麼它不打算做。

+0

太推!! – user938363

0

無法在輸入字段中嵌入錨點。

你可以使用JavaScript來做任何領域應該有的魔法。

如果你想了解更多關於JavaScript的信息。去亞馬遜,買一本書,讀它。

+0

不要考慮買書是一個可行的解決方案。 – user938363

+0

@ user938363這不會讓你走得很遠。 downvoting的人也不會那樣做。 – phoet

相關問題