首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >表单提交在包含Bootstrap的Rails3应用程序中停止工作

问表单提交在包含Bootstrap的Rails3应用程序中停止工作
EN

Stack Overflow用户
提问于 2013-02-21 02:58:50
回答 1查看 334关注 0票数 0

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

代码语言:javascript
复制
Empty string passed to getElementById().
elem = document.getElementById( match[2] );

我的联系人部分如下所示:

代码语言:javascript
复制
<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-->

我的布局如下:

代码语言:javascript
复制
<!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>

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

在使用simple_form之前,我在使用form_for时也遇到了同样的问题。我也相信我遵循了simple_form的引导说明。

如果有其他文件可以帮助澄清这个问题,请让我知道,我很乐意将它们张贴出来。

我错过了什么简单的东西吗?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2013-02-21 03:06:10

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

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

同时删除这些

代码语言:javascript
复制
<%= 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文件中包含这些文件,如下所示

代码语言:javascript
复制
//= require jquery
//= require jquery_ujs
//= require "my.js"
//= require "jquery.stellar.min.js"
//= require "waypoints.min.js"
//= require "jquery.easing.1.3.js"

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14987815

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档