0

如果我不包含 Bootstrap,我在 Rails 3 应用程序中有一个 simple_form,它可以正常工作,但是当我添加 bootstrap 时,提交按钮似乎什么都不做。单击它时在 Firebug 控制台中显示的唯一内容是:

Empty string passed to getElementById().
elem = document.getElementById( match[2] );

我的联系人部分看起来像:

<div class="slide" id="contact" data-slide="6" data-stellar-background-ratio="0.5">
      <div id="contactText">
         <div id="contactHeader">
            Contact Us
         </div>
      <%= simple_form_for @message, :url => contact_path, :html => {:class => "form-horizontal"} do |form| %>
         <%= form.input :name %>
         <%= form.input :email %>
         <%= form.input :subject %>
         <%= form.input :body, as: 'text'%>
         <%= form.button :submit, :class => "btn-primary", :value => "Send Message" %>
      <% end %>
      </div> <!-- end contactText --> 
</div> <!--end contact-->

我的布局如下:

<!DOCTYPE html>
<html>
<head>
   <title>Test App</title>

   <%= stylesheet_link_tag    "application", :media => "all" %>    
   <%= stylesheet_link_tag "http://fonts.googleapis.com/css?family=Oxygen", :rel => "stylesheet", :type => "text/css" %>
   <%= stylesheet_link_tag    "custom.css", :media => "all" %>
   <%= javascript_include_tag "application" %>
   <%= javascript_include_tag "my.js" %> 
   <%= javascript_include_tag "jquery.stellar.min.js" %>
   <%= javascript_include_tag "waypoints.min.js" %>
   <%= javascript_include_tag "jquery.easing.1.3.js" %>
   <%= csrf_meta_tags %>
</head>
<body>
   <%= yield %>
</body>
</html>

似乎是引导程序导致了这个问题,因为我取出<%= javascript_include_tag "application" %>并用 jquery 和引导 CDN 替换它并经历了相同的结果,但是当我删除引导程序时,它按预期工作。

在使用 simple_form 之前,我遇到了与 form_for 相同的问题。我也相信我遵循了 simple_form 的引导指示。

如果有其他文件可能有助于澄清问题,请告诉我,我很乐意发布它们。

我错过了一些简单的东西吗?

谢谢!

4

1 回答 1

1

更改<%= form.button :submit, :class => "btn-primary", :value => "Send Message" %>

<%= form.submit "send message", :class => "btn-primary"%>

同时删除这些

<%= javascript_include_tag "my.js" %> 
<%= javascript_include_tag "jquery.stellar.min.js" %>
<%= javascript_include_tag "waypoints.min.js" %>
<%= javascript_include_tag "jquery.easing.1.3.js" %>`

并将这些文件包含在application.js文件中

//= require jquery
//= require jquery_ujs
//= require "my.js"
//= require "jquery.stellar.min.js"
//= require "waypoints.min.js"
//= require "jquery.easing.1.3.js"

包含 Jquery 后应该会出现引导程序。您可能希望使用 gem 在您的应用程序中包含引导程序。如果您想从 CDN 使用它,请确保在调用 bootstrap 的任何函数之前加载 bootstrap.js

于 2013-02-20T19:06:09.517 回答