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
field_name = info['trans']
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
elsif field.start_with?("custom@") && is_cat_record
@ -400,7 +401,8 @@ class AsksController < ApplicationController
if v
field_name = info['trans']
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
@ -409,9 +411,10 @@ class AsksController < ApplicationController
has_ask_category_id = true
if show_categories || ask_setting.default_setting[field]
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
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
else
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
if ask_setting.default_setting[field] || field == "usage_rule"
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}]"
placeholder = @default_ask_setting.prompt_word(field)
id = field_name
case field
when 'title'
f1['content'] = text_field_tag(field_name,nil,placeholder: placeholder,required: required)
@ -444,18 +448,20 @@ class AsksController < ApplicationController
else
@appointment_idx += 1
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'
f1['content'] = "#{gotcha_error(:espeak=>true)}#{gotcha}"
when 'usage_rule'
next if ask_setting.usage_rule.blank?
f1['content'] = ask_setting.usage_rule
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'
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
f1['field'] = field
f1['label'] = ask_label(id, @default_ask_setting.field_name("#{field}"),required.to_s)
all_fields << f1
end
end

View File

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