fix label id missing for front-end form

This commit is contained in:
邱博亞 2024-07-13 21:25:06 +08:00
parent e8f8079cf8
commit 512da9546d
2 changed files with 16 additions and 10 deletions

View File

@ -390,7 +390,8 @@ class AsksController < ApplicationController
if v if v
field_name = info['trans'] field_name = info['trans']
if field_name.present? if field_name.present?
all_fields << {'field'=>field,'label'=>ask_label(field_name, v['required']),'content'=>show_on_front(k,v)} id = "#{get_input_name_for_ask}[custom_values][#{k}]"
all_fields << {'field'=>field,'label'=>ask_label(id, field_name, v['required']),'content'=>show_on_front(k,v)}
end end
end end
elsif field.start_with?("custom@") && is_cat_record elsif field.start_with?("custom@") && is_cat_record
@ -400,7 +401,8 @@ class AsksController < ApplicationController
if v if v
field_name = info['trans'] field_name = info['trans']
if field_name.present? if field_name.present?
all_fields << {'field'=>field,'label'=>ask_label(v['field'][I18n.locale],v['required']),'content'=>show_on_front(k,v)} id = "#{get_input_name_for_ask}[custom_values][#{k}]"
all_fields << {'field'=>field,'label'=>ask_label(id, v['field'][I18n.locale],v['required']),'content'=>show_on_front(k,v)}
end end
end end
end end
@ -409,9 +411,10 @@ class AsksController < ApplicationController
has_ask_category_id = true has_ask_category_id = true
if show_categories || ask_setting.default_setting[field] if show_categories || ask_setting.default_setting[field]
if categories.count > 1 if categories.count > 1
all_fields << {'field'=>field,'style_html'=>'','label'=>ask_label(@default_ask_setting.field_name("ask_category_id"),'true'),'content'=>select_tag('ask_question[category_id]', options_for_select(categories.collect{|t| [ t.title, t.id ]}))} id = "ask_question[category_id]"
all_fields << {'field'=>field,'style_html'=>'','label'=>ask_label(id, @default_ask_setting.field_name("ask_category_id"),'true'),'content'=>select_tag('ask_question[category_id]', options_for_select(categories.collect{|t| [ t.title, t.id ]}))}
else else
all_fields << {'field'=>field,'style_html'=>'','label'=>ask_label(@default_ask_setting.field_name("ask_category_id"),'true'),'content'=>"<span>#{(categories[0].title rescue '')}</span>"+hidden_field_tag('ask_question[category_id]', (categories[0].id.to_s rescue ''))} all_fields << {'field'=>field,'style_html'=>'','label'=>ask_label(nil, @default_ask_setting.field_name("ask_category_id"),'true'),'content'=>"<span>#{(categories[0].title rescue '')}</span>"+hidden_field_tag('ask_question[category_id]', (categories[0].id.to_s rescue ''))}
end end
else else
all_fields << {'field'=>field,'style_html'=>'display: none;','label'=>'','content'=>hidden_field_tag('ask_question[category_id]', (categories[0].id.to_s rescue ''))} all_fields << {'field'=>field,'style_html'=>'display: none;','label'=>'','content'=>hidden_field_tag('ask_question[category_id]', (categories[0].id.to_s rescue ''))}
@ -419,9 +422,10 @@ class AsksController < ApplicationController
else else
if ask_setting.default_setting[field] || field == "usage_rule" if ask_setting.default_setting[field] || field == "usage_rule"
required = ask_setting.is_required(field) required = ask_setting.is_required(field)
f1 = {'style_html'=>'','label'=>ask_label(@default_ask_setting.field_name("#{field}"),required.to_s)} f1 = {'style_html'=>''}
field_name = "ask_question[#{field}]" field_name = "ask_question[#{field}]"
placeholder = @default_ask_setting.prompt_word(field) placeholder = @default_ask_setting.prompt_word(field)
id = field_name
case field case field
when 'title' when 'title'
f1['content'] = text_field_tag(field_name,nil,placeholder: placeholder,required: required) f1['content'] = text_field_tag(field_name,nil,placeholder: placeholder,required: required)
@ -444,18 +448,20 @@ class AsksController < ApplicationController
else else
@appointment_idx += 1 @appointment_idx += 1
end end
f1['content'] = "<div class=\"default_picker\">#{text_field_tag(field_name,nil,placeholder: placeholder,data: {format: 'yyyy/MM/dd hh:mm'},required: required, id: "ask_question_appointment_#{@appointment_idx}")}</div>" id = "ask_question_appointment_#{@appointment_idx}"
f1['content'] = "<div class=\"default_picker\">#{text_field_tag(field_name,nil,placeholder: placeholder,data: {format: 'yyyy/MM/dd hh:mm'},required: required, id: id)}</div>"
when 'recaptcha' when 'recaptcha'
f1['content'] = "#{gotcha_error(:espeak=>true)}#{gotcha}" f1['content'] = "#{gotcha_error(:espeak=>true)}#{gotcha}"
when 'usage_rule' when 'usage_rule'
next if ask_setting.usage_rule.blank? next if ask_setting.usage_rule.blank?
f1['content'] = ask_setting.usage_rule f1['content'] = ask_setting.usage_rule
when 'agree_show' when 'agree_show'
f1['content'] = check_box_tag('ask_question[agree_show]', "1", false, {required: required}) f1['content'] = check_box_tag(field_name, "1", false, {required: required})
when 'agree_usage' when 'agree_usage'
f1['content'] = check_box_tag('ask_question[agree_usage]', "1", false, {required: required}) f1['content'] = check_box_tag(field_name, "1", false, {required: required})
end end
f1['field'] = field f1['field'] = field
f1['label'] = ask_label(id, @default_ask_setting.field_name("#{field}"),required.to_s)
all_fields << f1 all_fields << f1
end end
end end

View File

@ -205,8 +205,8 @@ module Admin::AsksHelper
" "
end end
end end
def ask_label(value,required='false') def ask_label(id, value, required='false')
label_tag(nil,value,{:class=>"control-label#{required=='true' ? ' required' : ''}"}) label_tag(id,value,{:class=>"control-label#{required=='true' ? ' required' : ''}"})
end end
def format_checkbox(options,value,multple_choose=false) def format_checkbox(options,value,multple_choose=false)
options.select{|index1,option| option['disabled'] != 'true'}.collect do |index1,option| options.select{|index1,option| option['disabled'] != 'true'}.collect do |index1,option|