Tôi có chức năng Jquery UI Datepicker trên toàn cầu để sử dụng lịch trong tất cả các trang. Tôi tạo ra một riêng biệt trang javascript như sau:Chức năng javascript không hoạt động trong lỗi xác nhận đường ray jquery-ajax hiển thị
var showDatePickers = function() {
$('[data-field-type="date"]').datepicker({
dateFormat: "yy-mm--dd",
showOn: "both",
buttonImageOnly: true,
buttonImage: "/assets/blue-calendar-icon.png",
buttonText: "Calendar"
});
}
$(showDatePickers);
tôi chỉ gửi lĩnh vực datepicker tôi theo quan điểm của tôi,
<div class="field">
<%= f.label :Renewal_Date %>
<%= f.text_field :Renewal_Date, readonly: 'readonly', data: {field_type: date}}
</div>
Tôi gọi hàm trên vào một tập tin javascript riêng biệt.
$(function() {
if ($('html.asset_contracts').length == 1) {
$(document.body).on('ajax:success', '.new_asset_contract, .edit_asset_contract', showDatePickers);
}
});
Làm việc tốt khi tải trang, chỉnh sửa và thực hiện hành động mới. Nhưng Khi lỗi xác nhận đường ray hiển thị hàm datepicker không hoạt động. Nó hiển thị trống text_field
.
FYI: Đây là trang ajax và hành động new, create, update and edit
đang hoạt động như ajax
trang. Vì vậy, tôi đã thêm remote: true
trong hình thức của tôi và tôi có new.js, edit.js, create.js and update.js
Đó là điều khiển của tôi,
def create
@contract = Asset::Contract.new(params[:asset_contract])
respond_to do |format|
if @contract.save
format.html { redirect_to asset_contracts_path, notice: "Successfully Created" }
format.js
format.json { render json: @contract, status: :created, location: @contract }
else
format.html { render action: "new" }
format.js
format.json { render json: @contract.errors, status: :unprocessable_entity }
end
end
end
def update
@contract = Asset::Contract.find(params[:id])
respond_to do |format|
if @contract.update_attributes(params[:asset_contract])
format.html { redirect_to asset_contracts_path, notice: "Succesfully Updated" }
format.js
format.json { head :no_content }
else
format.html { render action: "edit" }
format.js
format.json { render json: @contract.errors, status: :unprocessable_entity }
end
end
end
Cảm ơn
khi xác thực lỗi xảy ra, hãy kiểm tra js nếu sửa đổi bộ chọn trường datetime '[data-field-type =" date "]' – yxf