質問

投稿者:白銀
登録日:2026年3月17日(火)

初期パスワード変更で確認用と一致しなかったときの、エラー画面について

初ログインの方には初期パスワードを変更するようにしています。 その際に、 初期パスワードで 11111111 初期パスワード(確認用)で 22222222 など一致しなかったとき、エラーなど起きずにそのまま送信が押せてしまいます。 添付画像のように、差し替えキーワードがむき出しの画面になります。 送信する際に、一致しなかったときはエラー画面を表示させたいです。 そしてエラーの際は 初期パスワードの入力した値はリセットされないようにしたいです。

body部分
<body class="body">
 <center>
  <div class="main">
   <div class="page-title">
    <p>還付金送金口座の登録・<br class="sp">修正のお手続き / 還付金明細の確認</p>
   </div>
   <div class="body_tbl">
    <div class="container">
     <p class="c-txt">初期パスワードを変更してください。</p>
     <div class="c-form">
      <form method="post" action="/regist/Reg2">
       <div class="smp_tmpl">
        <dl class="cf">
         <dt class="title">新規パスワード</dt>
         <dt class="c-note">半角英数字混合で8桁以上</dt>
         <dd class="data"><input class="input smp-password" type="password" name="password" value=""><span class="smp-password-toggle" aria-hidden="true"></span><br>
         </dd>
        </dl>
        <dl class="cf">
         <dt class="title">新規パスワード(確認用)</dt>
         <dt class="c-note">半角英数字混合で8桁以上</dt>
         <dd class="data"><input class="input smp-password" type="password" name="password:cf" value=""><span class="smp-password-toggle" aria-hidden="true"></span><br>
         </dd>
        </dl>
        <input type="hidden" name="detect" value="判定">
        <!-- 管理ID -->
        <input type="hidden" name="SMPFORM" value="%smpform:update-pass%">
        <input type="hidden" name="id" value="%val:sys:id%">
        <input type="hidden" name="authKey" value="%val:usr:authKey%">
        <input type="hidden" name="insuredNum" value="%val:usr:insuredNum%">
        <input type="hidden" name="updatepw" value="2">
        %form:extension:update-pass%
        <input class="submit" type="submit" name="submit" value="変更する">%area:hidden:rereg%
       </div>
      </form>
     </div>
    </div>
   </div>
   <div class="footer">
    <p class="c-copyright">Copyright ©</p>
   </div>
  </div>
 </center>
スクリプト部分
 <script>
  (function () {
      // $(".submit").attr('disabled', true);
      document.getElementsByClassName("submit")[[0]].disabled = true;
   var inputs = document.querySelectorAll('#SMP_STYLE .smp-password');
   var toggles = document.querySelectorAll('#SMP_STYLE .smp-password-toggle');

   if (!inputs.length || !toggles.length) return;

   toggles.forEach(function (toggle, index) {
    var input = inputs[index];
    if (!input || !toggle) return;

    toggle.addEventListener('click', function () {
     var isPassword = input.type === 'password';
     input.type = isPassword ? 'text' : 'password';
     toggle.classList.toggle('is-visible');
    });
   });

   var passwordInputs = document.getElementsByClassName("smp-password");
      var passwordLength = true;
      for (var i = 0; i < passwordInputs.length; i++) {
          passwordInputs[i].addEventListener("input", function () {
              document.getElementsByClassName("submit")[[0]].disabled = true;
          });
          passwordInputs[i].addEventListener("change", function () {
              if (this.value.length >= 9) {
                  alert("パスワードは8桁で入力してください");
              }
              checkInput(this.value.length);
          });
      }
      function checkInput(){
        for (var i = 0; i < passwordInputs.length; i++) {
          console.log(passwordInputs[i].value.length);
          if(passwordInputs[i].value.length >= 9) passwordLength = false;
        }
        if(passwordLength) {
          document.getElementsByClassName("submit")[[0]].disabled = false;
        }
        passwordLength = true;
      }
  })();
 </script>
</body>
更新日:2026年3月18日(水)
いいね

コメント

  • 白銀

    画像です。

    • いいね
    2026年3月17日(火)
  • お問合せいただきありがとうございます。 エラーの際に画像のようにタグがそのまま表示されてしまうのは マイエリア設置用のHTMLを入力ページに設定しているためになります。 マイエリアのカスタムページに設置する入力ページとフォームの 入力ページに設定するページは見た目は似ていますが、それぞれ別のページに なりますので、フォームの入力ページ用にHTMLを作成ください。 フォームの入力ページにある、「入力ページ用HTML」の「設定デザイン」 ボタンより、入力ページのデフォルトのHTMLがダウンロードできますので、 そのページを元に作成ください。 こちらは入力のエラーや確認ページから戻った場合のページとして動作いたします。 ◯カスタムページの特徴 ・valueなど登録済みのデータやIDを呼び出す部分に%val:usr:XXXX%と差し替えキーワードを使用する。 ◯フォームの入力ページの特徴 ・valueなど送信された値を保持する機能として$XXXX$と差し替えキーワードを使用する。 ・エラーメッセージを各項目に設定する。 ▼フォームの各種HTMLソースに関する解説を知りたい https://support.smp.ne.jp/faq/f22796/ 入力ページをご設定いただければ差し替えキーワードは剥き出しにならず、 エラーメッセージが表示されます。 パスワードも「設定デザイン」のHTMLに合わせてvalueを設定いただければ 入力した値が保持され、また確認用途不一致の場合は「確認入力と一致しません」など、確認エラーメッセージに設定いただいたエラーメッセージが表示されます。 ご確認よろしくお願いいたします。

    • いいね
    2026年3月18日(水)
あなたもログインして、
回答してみませんか?
質問がまとまらない方へ チャットコミュニティで気軽に聞いてみよう! 疑問や課題が整理できていなくても問題ありません。SPIRAL®で解決できる範囲がまだわからなくても質問できます。「ここで聞くと場違いかな?」というお悩みでも歓迎します。
  • Discordで聞く
  • Slackで聞く