表題のような問い合わせフォームを作ったのですが、
迷惑メールがきてしまうため、改善したいと考えています。
現状、郵便番号を入力しますと住所が自動表示される仕様ですが、
適当な数字を入れても、送信できてしまいます。
改善については、
●郵便番号がハイフンを抜いて7桁未満でなければ、住所以下が入力できない
●正しい郵便番号でなければ住所が自動表示されない
●正しい郵便番号でなければ、住所以下が入力できない
などにしたいと考えています。
現在、次のようなコードなのですが、
郵便番号をうまく取りだせないのですが、教えていただけないでしょうか。
また、その郵便番号が存在するものかどうかを判断することはできるのでしょうか。
ご教示いただけましたら幸いです。
どうぞよろしくお願いいたします。
<input type="hidden" name="title" value="<?php echo $form_title;?>"> <dl class="entry__inputs"> <dt class="entry__must">住所</dt> <dd> <dl class="entry__inputs-full"> <dt>郵便番号</dt> <dd> <input class="FORM__S" name="zip" type="text" <?php if($_SESSION["zip"]){echo 'value="'.$_SESSION["zip"].'"';}else{ } ?> onKeyUp="AjaxZip3.zip2addr(this,'','address1','address2');" placeholder="" /> </dd> </dl> <dl class="entry__inputs-full"> <dt>都道府県</dt> <dd> <select name="address1" required> <option value="">-- 選択してください --</option> <option value="北海道" <?php if($_SESSION["address1"]=='北海道'){echo 'selected';}?>>北海道</option> <option value="青森県" <?php if($_SESSION["address1"]=='青森県'){echo 'selected';}?>>青森県</option> 〜略〜 </select> </dd> </dl> <dl class="entry__inputs-full"> <dt>市区町村番地など</dt> <dd> <input class="entry__input-text entry__input-must" name="address2" type="text" <?php if($_SESSION["address2"]){echo 'value="'.$_SESSION["address2"].'"';}else{ } ?> placeholder="住所を記入してください" /> </dd> </dl> <dl class="entry__inputs-full"> <dt class="FORM__ADDRESS">建物名</dt> <dd> <input class="entry__input-text" name="building" type="text" <?php if($_SESSION["building"]){echo 'value="'.$_SESSION["building"].'"';}else{ } ?> placeholder="建物名を記入してください" /> </dd> </dl> <button type="submit" name="button" class="entry__button entry__disabled" accesskey="u" tabindex="0">以上の内容で送信</button> </form> <script type="text/javascript"> jQuery(function ($) { $('form').on('input click', function () { $(".entry__button").attr('disabled', !this.checkValidity()); if (!$(".entry__button").is(':disabled')) { $(".entry__button").removeClass("entry__disabled"); }else { $(".entry__button").addClass("entry__disabled"); } }); }); </script> コード
あなたの回答
tips
プレビュー