Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用RubyonRails和ajax在表单提交后更改div_Ruby On Rails_Ajax - Fatal编程技术网

Ruby on rails 使用RubyonRails和ajax在表单提交后更改div

Ruby on rails 使用RubyonRails和ajax在表单提交后更改div,ruby-on-rails,ajax,Ruby On Rails,Ajax,我有一个通过Ajax提交的问题。提交此表单后,我希望获取新信息并替换屏幕上已有的div <div style="float: left; margin-left: 10px; padding-left: 10px; border-left: 1px solid black;"> <%= form_for [@event,@default_event_status], :remote => true, :html => {:id => 'default_

我有一个通过Ajax提交的问题。提交此表单后,我希望获取新信息并替换屏幕上已有的div

<div style="float: left; margin-left: 10px; padding-left: 10px; border-left: 1px solid black;">
    <%= form_for [@event,@default_event_status], :remote => true, :html => {:id => 'default_event_status', :'data-update-target' => 'last_status'}  do |f| %>
        <%= f.hidden_field :event_id %>
        <%= f.hidden_field :video %>
        <%= f.hidden_field :audio %>
        <%= f.submit "Report all OK", :style => "margin-top: 1px;" %>
    <% end %>
</div>
我从网上的另一篇文章中得到了数据目标的想法,但我不确定它是否有任何作用。请给出任何提示或想法,谢谢

HTML页面

<div id="monitor" style="height: 25px;">
    <div id="last_status">
    Last Status:
        <%= render "last_status" %>
    </div>
    <%= content_for :javascript do %>
        $(document).ready(
            function() {
                setInterval(function() {
                    $("#last_status_content").load("event_statuses/load_event_status");
                }, 300000);

                $('form[data-update-target]').live('ajax:success', function(evt, data) {
                    var target = $(this).data('update-target');
                    $('#' + target).html(data);
                });
            }
        );
    <% end %>

    <div style="float: left; margin-left: 10px; padding-left: 10px; border-left: 1px solid black;">
        <%= form_for [@event,@default_event_status], :remote => true, :html => {:id => 'default_event_status', :'data-update-target' => 'last_status'}  do |f| %>
            <%= f.hidden_field :event_id %>
            <%= f.hidden_field :video %>
            <%= f.hidden_field :audio %>
            <%= f.submit "Report all OK", :style => "margin-top: 1px;" %>
        <% end %>
    </div>

    <span id='hide_status'><%= link_to "Hide", "#", :onclick => "document.getElementById('monitor').style.display = 'none'" %> </span>
</div>

最后状态:
$(文件)。准备好了吗(
函数(){
setInterval(函数(){
$(“#最后一个#状态#内容”).load(“事件#状态/load#事件#状态”);
}, 300000);
$('form[data update target]').live('ajax:success',函数(evt,data){
var target=$(this).data('update-target');
$('#'+target).html(数据);
});
}
);
true,:html=>{:id=>'default_event_status',:'data-update-target'=>'last_status'}do | f |%>
“页边距顶部:1px;”%>
“document.getElementById('monitor')。style.display='none'”%>

您可以在页面中使用javascipt事件,也可以使用:remote=>true返回Javascript。 检查此有用的强制转换;)


您的
最后一个\u状态在哪里
div
?它是您的
表单所在页面的一部分吗?是的。它就在formI的正上方,它将html部分的其余部分作为一个块添加到我已经发布的所有其他内容下。
def create
    @event_status = EventStatus.new(params[:event_status])
    @event_status.created_by = current_user.id
    @event_status.save
    render :partial => "events/last_status", :content_type => 'text/html' 
end
<div id="monitor" style="height: 25px;">
    <div id="last_status">
    Last Status:
        <%= render "last_status" %>
    </div>
    <%= content_for :javascript do %>
        $(document).ready(
            function() {
                setInterval(function() {
                    $("#last_status_content").load("event_statuses/load_event_status");
                }, 300000);

                $('form[data-update-target]').live('ajax:success', function(evt, data) {
                    var target = $(this).data('update-target');
                    $('#' + target).html(data);
                });
            }
        );
    <% end %>

    <div style="float: left; margin-left: 10px; padding-left: 10px; border-left: 1px solid black;">
        <%= form_for [@event,@default_event_status], :remote => true, :html => {:id => 'default_event_status', :'data-update-target' => 'last_status'}  do |f| %>
            <%= f.hidden_field :event_id %>
            <%= f.hidden_field :video %>
            <%= f.hidden_field :audio %>
            <%= f.submit "Report all OK", :style => "margin-top: 1px;" %>
        <% end %>
    </div>

    <span id='hide_status'><%= link_to "Hide", "#", :onclick => "document.getElementById('monitor').style.display = 'none'" %> </span>
</div>