前提・実現したいこと
valueの値を取得してその値ごとにactionを動的に変え、遷移時にフェードアウトさせようとしているのですが、
sex-age.htmlこのページにおいてvalue="man"を選択しsubmitしたらactionが書き換わり遷移されると思ったのですが、遷移されず同じページに戻されます
if(url.match(/sex-age.html/)){
if(document.sexageform.sex.value == "man"){
document.sexageform.action="/check/point_men.html"; }
ここに引っかかりません、console.logで確認しても値が表示できなかったのでなぜここに引っかからないのかがわかりません。
原因がわかる方がいましたら、教えていただければ幸いです。
###html
<main> <div class="s-contents"> <form method="get" class="form" id="sex-age" name="sexageform" data-validate> <h2 class="s-heading age-heading">あなたの性別は?</h2> <div class="s-radio-box"> <div class="btn corner-border corner-button"> <input id="man" type="radio" name="sex" value="man"> <label for="man" class=" corner-border__inner"> <img src="/check/common/img/man.png" alt="" class="border"> </label> </div> <div class="btn corner-border corner-button"> <input id="woman" type="radio" name="sex" value="woman"> <label for="woman" class=" corner-border__inner"> <img src="/check/common/img/woman.png" alt="" class="border"> </label></div> </div> <h2 class="s-heading">あなたの年齢は?</h2> <div class="age"> <input type="number" name="age" max="60" min="20" placeholder="年齢" id="number" required> </div> <div class="s-btn-line"> <a href="javascript:void(0);" onclick="window.history.back();"><img src="/check/common/img/return.png" alt=""></a> <input type="submit" value="次へ" onclick="puff()" id="next" disabled="disabled"> <div class=""></div> </div> </form> </div> </main>
js
let body = document.getElementsByTagName('body')[0]; function fadeOut() { body.classList.add('bodyfadeout'); } // 遷移先切り分け function linkUrl(){ let url = location.href ; if(url.match(/sex-age.html/)){ if(document.sexageform.sex.value == "man"){ document.sexageform.action="/check/point_men.html"; } else if(document.sexageform.sex.value == "woman"){ document.sexageform.action="/check/point_women.html"; } } else if(url.match(/location.html/)){ if(document.sexageform.sex.value == "venue"){ document.sexageform.action="/check/venue.html"; } else if(document.sexageform.sex.value == "store"){ document.sexageform.action="/check/store.html"; } } else if(url.match(/check.html/)){ location.href = '/check/sex-age.html'; } else if(url.match(/point/)){ document.sexageform.action="/check/location.html"; } } let next = document.getElementById('next'); next.addEventListener('click', function() { fadeOut(); setTimeout(function(){ linkUrl(); }, 300); });
回答1件
あなたの回答
tips
プレビュー