MW WP FORM のラジオボタンなどのタグに ID がつかないバグ
MW WP FORM のラジオボタンなどのタグに ID がつかないというバグがあります。
通常は id は必要ありませんが、MW WP FORM の表示内容を動的に動かしたい場合必要になります。
JavaScript でコントロールしようとする場合 id は必須です。
mw-wp-form/templates/form-fields にある、XXXX.php で処理されています。
XXXX は、フィールド名になっていますので読むとたぶんわかると思います。
例えば、ラジオボタンならば、radio.php です。
ラジオボタンに ID を付ける場合は、radio.php のソースを開き、テンプレートを修正します。
input の type radio を作っているところに id= がないので id = を追加します。
通常は id は必要ありませんが、MW WP FORM の表示内容を動的に動かしたい場合必要になります。
JavaScript でコントロールしようとする場合 id は必須です。
ラジオボタンなどのショートカットを処理するモジュールの場所
ラジオボタンなどのショートカットを処理するモジュールは、mw-wp-form/templates/form-fields にある、XXXX.php で処理されています。
XXXX は、フィールド名になっていますので読むとたぶんわかると思います。
例えば、ラジオボタンならば、radio.php です。
ラジオボタンに ID を付ける場合は、radio.php のソースを開き、テンプレートを修正します。
if ( ‘true’ === $vertically ) {
$vertically_class = ‘vertical-item’;
} else {
$vertically_class = ‘horizontal-item’;
}
?>
<?php foreach ( $fields as $field_value => $field ) : ?>
<span class=”mwform-radio-field <?php echo esc_attr( $vertically_class ); ?>”>
<label <?php echo MWF_Functions::generate_input_attribute( ‘for’, $field[‘id’] ); ?>>
<input type=”radio”
name=”<?php echo esc_attr( $field[‘name’] ); ?>”
value=”<?php echo esc_attr( $field_value ); ?>”
<?php checked( $field_value, $value, true ); ?>
<?php echo MWF_Functions::generate_input_attribute( ‘id’, $field[‘id’] ); ?>
<?php echo MWF_Functions::generate_input_attribute( ‘class’, $field[‘class’] ); ?>
/>
<span class=”mwform-radio-field-text”><?php echo esc_attr( $field[‘label’] ); ?></span>
</label>
</span>
$vertically_class = ‘vertical-item’;
} else {
$vertically_class = ‘horizontal-item’;
}
?>
<?php foreach ( $fields as $field_value => $field ) : ?>
<span class=”mwform-radio-field <?php echo esc_attr( $vertically_class ); ?>”>
<label <?php echo MWF_Functions::generate_input_attribute( ‘for’, $field[‘id’] ); ?>>
<input type=”radio”
name=”<?php echo esc_attr( $field[‘name’] ); ?>”
value=”<?php echo esc_attr( $field_value ); ?>”
<?php checked( $field_value, $value, true ); ?>
<?php echo MWF_Functions::generate_input_attribute( ‘id’, $field[‘id’] ); ?>
<?php echo MWF_Functions::generate_input_attribute( ‘class’, $field[‘class’] ); ?>
/>
<span class=”mwform-radio-field-text”><?php echo esc_attr( $field[‘label’] ); ?></span>
</label>
</span>
input の type radio を作っているところに id= がないので id = を追加します。
if ( ‘true’ === $vertically ) {
$vertically_class = ‘vertical-item’;
} else {
$vertically_class = ‘horizontal-item’;
}
?>
<?php foreach ( $fields as $field_value => $field ) : ?>
<span class=”mwform-radio-field <?php echo esc_attr( $vertically_class ); ?>”>
<label <?php echo MWF_Functions::generate_input_attribute( ‘for’, $field[‘id’] ); ?>>
<input type=”radio”
name=”<?php echo esc_attr( $field[‘name’] ); ?>”
id=”<?php echo esc_attr( $field[‘id’] ); ?>” value=”<?php echo esc_attr( $field_value ); ?>”
<?php checked( $field_value, $value, true ); ?>
<?php echo MWF_Functions::generate_input_attribute( ‘id’, $field[‘id’] ); ?>
<?php echo MWF_Functions::generate_input_attribute( ‘class’, $field[‘class’] ); ?>
/>
<span class=”mwform-radio-field-text”><?php echo esc_attr( $field[‘label’] ); ?></span>
</label>
</span>
$vertically_class = ‘vertical-item’;
} else {
$vertically_class = ‘horizontal-item’;
}
?>
<?php foreach ( $fields as $field_value => $field ) : ?>
<span class=”mwform-radio-field <?php echo esc_attr( $vertically_class ); ?>”>
<label <?php echo MWF_Functions::generate_input_attribute( ‘for’, $field[‘id’] ); ?>>
<input type=”radio”
name=”<?php echo esc_attr( $field[‘name’] ); ?>”
id=”<?php echo esc_attr( $field[‘id’] ); ?>” value=”<?php echo esc_attr( $field_value ); ?>”
<?php checked( $field_value, $value, true ); ?>
<?php echo MWF_Functions::generate_input_attribute( ‘id’, $field[‘id’] ); ?>
<?php echo MWF_Functions::generate_input_attribute( ‘class’, $field[‘class’] ); ?>
/>
<span class=”mwform-radio-field-text”><?php echo esc_attr( $field[‘label’] ); ?></span>
</label>
</span>