【发布时间】:2015-08-12 16:13:30
【问题描述】:
我正在尝试向用户显示一条错误消息,指出如果出现问题,预订将无法取消。
成功时,ajax 使用 remote: true 拦截正常的表单行为并呈现部分(顺便在现有的部分内),但我无法将 'ajax:error' 事件绑定到我的 js.erb 文件中的表单。
我尝试了很多不同的东西和语法变化来尝试让它工作。 (我对 javascript/jQuery 很陌生,所以它可能是基本的东西,因为 js.erb 不会在控制台中显示错误)。这是我最近的尝试:
cancel_success.js.erb:
$('#cancel-message').html("<%= j (render 'cancel_success') %>");
$('#cancel-message').slideDown(350);
$('#search-show-container').hide()
$('#reservationId').closest('form').on('ajax:error', function(xhr, status, error) {
$("#cancel_error_text").html("Sorry, we can't cancel your booking at the moment, please try calling the restaurant:");
});
我的表单视图:
<p id="cancel_error_text"></p>
<div id="search-show-container">
<%= form_tag(cancel_success_searches_path, remote: true) do %>
<%#= label_tag 'Reservation ID' %>
<%= text_field_tag :reservationId %>
<%= submit_tag 'Cancel Booking', name: nil %>
<% end %>
</div>
【问题讨论】:
-
您能否发布您的 cancel_success_searches 控制器代码?
-
确定控制器在这里被称为“搜索”:gist.github.com/daneasterman/f0f1ce1e10e07fc1f5fa
-
这对@thedanotto 有帮助吗?
标签: jquery ruby-on-rails ajax erb