【发布时间】:2015-01-12 21:36:31
【问题描述】:
我的 Rails 表单中有一个提交按钮,我想在用户点击提交时将其更改为旋转加载图标。我的应用正在使用引导程序,所以我遵循了here 提供的示例。
提交按钮的 Rails 代码如下所示:
<%= content_tag :button, :class => "btn btn-u ladda-button", :type => "submit", :data => { :style => 'expand-left' } do %>
<span class="ladda-label">Next</span>
<span class="ladda-spinner"></span>
<% end %>
正在渲染的 HTML 如下所示:
# in <head>
<script type="text/javascript">
$(document).ready(function(){
Ladda.bind( '.ladda-button' );
});
</script>
# submit button at the end of my rails form_for
<button class="btn btn-u ladda-button" data-style="expand-left" type="submit">
<span class="ladda-label">Next</span>
<span class="ladda-spinner"></span>
</button>
我已将 ladda.js 和 spin.js 包含在我的 assets/javascripts 文件夹中。 ladda-themeless.css 包含在我的样式表控制器中。
当我单击下一个按钮时,按钮内的文本会改变颜色(变为深灰色)。 Chrome 控制台现在显示以下错误:
Uncaught TypeError: undefined is not a function application.js:17884createSpinnerapplication.js:17884instance.start application.js:17577(anonymous function)
【问题讨论】:
-
@JTG 没有。这个表单只是完成了一个本地对象的基本保存功能。但是,它确实通过模型中的 after_commit 调用通过第 3 方 API 推送从表单收集的数据。
-
控制台错误?你能看到你的浏览器开发视图中是否正在加载 css/js 吗?
-
@JTG chrome 控制台没有任何错误。当我在 chrome 开发工具中搜索 application.css 和 application.js 时,我确实看到文件 ladda js 和 css 文件正在加载。
-
您是否尝试过确保 spin.js 在 ladda.js 之前加载?这对我有用。
标签: javascript ruby-on-rails twitter-bootstrap ruby-on-rails-4