発生している問題
元々下のソースコードのようにhtmlファイルでのradio buttonを使用したページ分岐を行っていたのですが、
<form name="form1"> <div class="piece"> <input type="radio" name="piece" value="1" id="white" style="transform: scale(2.0);"> <label for="white">白(先攻)<br> <input type="radio" name="piece" value="2" id="black" style="transform: scale(2.0);" checked> <label for="black">黒(後攻)<br> </div> </form> <div class="start"> <input type="image" src="./images/Decision2.jpg" onclick="link()" alt="ゲームを開始する" > </div> <script type="text/javascript"> function link() { var zelda = document.form1.piece[0].checked; if (zelda) { document.location = "./play_white/play.html"; }else{ document.location = "./play_black/play.html"; } } </script>
htmlファイルを下のようなpugファイルに変換して使おうとしたところ、
動かなくなってしまいました。
form(name="form1") .piece input#white(type="radio", name="piece", value="1", style="transform: scale(2.0);") label(for="white") 白(先攻) br input#black(type="radio", name="piece", value="2", style="transform: scale(2.0);", checked) label(for="black") 黒(後攻) br script(type='text/javascript'). function link() { var zelda = document.form1.piece[0].checked; if (zelda) { document.location = "./play"; }else{ document.location = "./play_inaba"; } }
エラーが表示されるのではなく、何度radio buttonで指定してページへ飛ぼうとしてもどこにも遷移せずに戻されてしまいます。一応、document.locationをwindow.openに変えれば遷移することはできるのですが、別のウィンドウが遷移するたびに作成されてしまいます。
恐らくdocument.locationを何か別のものに置き換えれば遷移しつつウィンドウも作成されない設定ができると思うのですが、何かいい案はないでしょうか?
前提・実現したいこと
radio buttonを使って条件分岐を作り、それぞれ別のPugに遷移するようにしたいです、
また、遷移する際には、新たにウィンドウが作成されないようにしたいです。
発生している問題
htmlで問題なくできていたページ遷移をPugでやろうとしたところできなくなってしまった。エラーも表示されず、ページ遷移が行われないまま元のページに帰されてしまいます。
試したこと
document.locationをwindow.location.hrefにしたりlocation.hrefにしてみたりしたがページ遷移されることはありませんでした。window.openにするとページ遷移はできるが遷移されるたびにウィンドウが作成されるため、私の思っていた動きとは違うものになってしまいました。
補足情報(FW/ツールのバージョンなど)
参考にさせてもらったサイトです。
http://www.shurey.com/js/samples/1_tips7.html

回答1件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。
2022/01/31 14:31
退会済みユーザー
2022/01/31 14:58
2022/01/31 15:14
2022/01/31 16:45