0

这只是IE8中的一个问题。它在 Firefox、Chrome、Safari 甚至 IE9 中运行良好。无论如何,我的应用程序登录页面上有一个 div,我将其设置为看起来像一个巨大的灰色按钮。这是代码:

.user_form .submit input[type=submit] {
  display: block;
  width: 100%;
  height: 55px;
  text-align: left;
  margin-bottom: 0;
  padding: 0 11px;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  line-height: 25px;
  text-shadow: -1px -1px 1px rgba(0,0,0, 0.25);
  text-transform: uppercase;
  background: #4a5a64 url(/images/h1_background.gif) repeat-x;
  border: none;
}

这是haml代码:

.submit
  = submit_tag 'Sign in', :class => 'no_style', :type => 'submit'

由于这在除 IE8 之外的所有浏览器上都可以正常工作,因此我想知道是否有一种方法可以在不将其转换为按钮的情况下解决此问题,即在 haml 中是这样的:

.submit
  %button.submit_tag { bla bla bla } Sign In

谢谢!

更新:这是我整个登录页面的所有 Haml 代码。正如我所说,在 Firefox、Chrome 和 IE9 中,如果您输入用户名和密码,然后按 Enter 键,您将进入欢迎页面(当然,假设您的用户名和密码正确)。然而,在 IE8 中,您只需听到一声哔声,您就会停留在页面上。

- content_for :trackers do
  = google_analytics_standard_page_tracker
  = salesforce_tracker

- title 'Sign In', false

- form_for :session, :url => session_path, :html => { :class => 'user_form' } do |f|
  .field
    = f.label :email, 'Username'
    = f.text_field :email, :maxlength => 255, :autofocus => true
  .field
    = f.label :password
    = f.password_field :password

  .submit
    %input{ :type => 'submit', :value => 'Sign in' }

.section.right
  %ul.links
    %li= link_to 'Forgot password?', new_password_path
    %li= link_to 'Don\'t have an account? Sign up now', marketing_site_url("/index.php/buy-now")
    %li= link_to 'Resend activation email', resend_activation_path

  = render 'shared/need_help'
4

1 回答 1

0

您始终可以使用原始 HTML 版本,但您必须手动连接所有涉及的内容。就像是:

%input{:type => "submit", :value => "Add class"}

或者如果你喜欢 HTML 样式属性

%input(type="submit" value="Add class")
于 2012-10-08T18:58:27.383 回答