我正在寻找使用两个提交按钮的解决方案,其中一个表单如下所示:
查看:
<%= form_for @topic do |f| %>
.................
... some code ...
.................
<p>
<%= f.fields_for :topic_content do |tf| %>
<%= tf.text_area :text , :id => 'topic_text', :cols => 100 , :rows => 15, :class => 'topic_text' %></p>
<% end %>
.................
... some code ...
.................
<%= f.submit "Save", :name => 'save' %>
<%= f.submit "Preview", :name => 'preview' %>
<%end%>
<div id='preview_topic_text'>
</div>
答案 0 :(得分:2)
请将您的提交更改为link_to
代码,并为该link_tag
提供ID,然后编写ajax函数
<%=link_to('Save', '#', :class => "save","data-button" => "save") %>
预览
<%=link_to('preview', '#',:class => "save","data-button" => "preview") %>
jQuery(".save").click(function(){
var form_value = jQuery('#your_form_id').serialize();
var button = $(this).data("button");
if(button == "save"){
//your ajax code
// in data you append button the value
}
else{
}
// document.multi.action+="?"+form_value+"&flag="+ button;
// document.multi.submit();
});
所以,在控制器中你可以获得params[:flag]
,然后你可以检查条件。
答案 1 :(得分:-3)
你可以使用PHP来定义按下按钮的条件,试试这段代码:
if (isset($_GET['submitbtn1']))
{
//execute the 1st code here
}
else if (isset($_GET['submitbtn2']))
{
//execute the 2nd code here
}