我有一个包含一些输入字段的表单。这个表单首先从数据库中获取值并填充它们。如果它们有值,它们将被禁用。
=text_field_tag("dt|#{a_key}",(begin;a_mock["dt_open"];rescue;nil;end), :class => "form-control", :disabled => a_mock["active"] == "true" )
在我的rb文件中,有一条规则可以验证日期。如果该字段为空白:
if !dt_open.blank?
...
end
我注意到,如果该字段被禁用,则不会发送。我知道,因为我打印的信息和字段都没有。 如何在haml中克服这种行为?
答案 0 :(得分:1)
disabled
attribute
的输入不会提交,您可以使用readonly
而不是disabled
,执行几乎相同的操作,您无法更改或编辑输入字段值。< / p>
另一种解决方案
如果您仍想使用disabled
attribute
,则可以应用以下JavaScript以允许提交disabled
<script>
$('#your_form_id').submit(function() {
$("#disabled_input_field_id").prop('disabled', false);
//your code goes here
})
</script>
答案 1 :(得分:0)
您可以使用hidden_field_tag
发布提交值。我也只是在p
标签中打印该值而不是显示禁用的文本输入,但这只是我的看法。
- if a_mock["active"] == "true"
= hidden_field_tag "dt|#{a_key}", a_mock["dt_open"]
p= a_mock["dt_open"]
- else
= text_field_tag "dt|#{a_key}", a_mock["dt_open"], class: "form-control"