1

我在html向 Rails 表单提交添加特定属性时遇到问题。

= form_for :model do |f|
  ...
  = f.submit 'Submit', tabindex: '3'

tabindex属性未显示在表单中。我也尝试了html哈希无济于事。

它只是产生这个html标记:

<button type="submit" value="Submit">Submit</button>

编辑:我能想到的唯一替代方法是使用 jQuery。

$('button[type=submit]').attr('tabindex', '3');

但这似乎有点矫枉过正。似乎Haml应该有办法。

4

1 回答 1

2

结果f.submit 'Submit', tabindex: '3'应该是:

<input type='submit' value='Submit' tabindex='3'></input>

但是,您似乎得到了一个button元素,并且tabindex根本没有出现 - 所以这里肯定会发生其他事情。

如果您有一个自定义表单构建器并覆盖该submit方法,这肯定是结果。如果您需要该自定义表单构建器并且仍然希望您的提交元素是一个按钮,您需要确保您通过提交方法允许选项散列。不确定您当前的方法是什么样的,但您可以将其更新为如下内容:

def submit(value, options={})
  options.reverse_merge!(
    type: 'submit',
    value: value
  )

  button_tag(value, options)
end
于 2013-05-28T17:32:00.653 回答