2019/07/25(木)JavaScriptの入力チェックで悩んだ
2019/07/25 24:28
そこで少しハマりました
HTMLは下記になります(よくある都道府県のプルダウンです)
<select class="custom_select" name="prefectures" id="prefectures" > <option selected>お届け先の都道府県を選択してください</option> <option value="北海道">北海道</option> <option value="青森県">青森県</option> <option value="岩手県">岩手県</option>最初は下記の JavaScript でチェックしました
if (document.req.prefectures.value == '' ) { window.alert('都道府県を入力してください'); return false ; }都道府県を選択しない状態でも、JavaScriptに引っかかりません
デバッグしていくと、チェックの方法がおかしいのか? と考えて下記のコードへ修正しました
やはり引っかかりません
var prefectures = document.getElementById("prefectures") ; if ( prefectures.value == '') { window.alert('都道府県を入力してください'); return false ; }よくよく調べていくと prefectures.value に何か設定されているようです
下記のコードで正しく動作しました
var prefectures = document.getElementById("prefectures") ; if ( prefectures.value == 'お届け先の都道府県を選択してください') { window.alert(prefectures.value); return false ; }プルダウンで都道府県をしていない状態では selected の文字列("お届け先の都道府県を選択してください")
が設定されていました
:
:
完全に無知です