Wordpress Ultimate Memberのフォームで「同意する」にチェックしないとSubmitボタンを押せなくする
Ultimate Memberのフォームで「同意する」にチェックしないとSubmitボタンを押せなくするってのはよくある話。
Ultimate Memberの同意するは、チェックボックスで作る
メタキー(この場合は agree )はJavaScriptで使う
SubmitボタンのCSS(SCSS)はこんな感じ
#um-submit-btn{ opacity: 0.5; pointer-events: none; &.active{ opacity: 1; pointer-events: initial; } }
チェックボックスのJavaScript(jQuery)はこんな感じ
// デフォルで同意のチェックを外す $('.um-field-agree input').removeAttr('checked'); $('.um-field-agree .um-field-checkbox').removeClass('active'); $('.um-field-agree i').removeClass('um-icon-android-checkbox-outline'); $('.um-field-agree i').addClass('um-icon-android-checkbox-outline-blank'); // 同意のチェックがされたら登録ボタンが押せるようになる $('.um-field-agree').on('click', function(){ $(this).find('input').prop('checked') ? $('#um-submit-btn').addClass('active') : $('#um-submit-btn').removeClass('active'); });
um-field-agree の agree はチェックボックスに設定したメタキー
前半の「デフォルトで同意のチェックを外す」部分がないとバリデーションエラーの時同意のチェックがされているのに、Submitが押せないってなる