• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【誕生日占い】計算結果ごとにそれぞれのページを表示させたい)

【誕生日占い】計算結果ごとにそれぞれのページを表示させたい

このQ&Aのポイント
  • 誕生日占いの計算結果に応じて、それぞれのページを表示させたい方法について教えてください。
  • 誕生日占いでは、まず誕生日の数字を足し合わせて、その合計に基づいてページを指定する方法があります。
  • 具体的な例として、ある誕生日の数字の合計が35であれば、その合計から22を引いた結果のページを表示させることができます。

質問者が選んだベストアンサー

  • ベストアンサー
noname#84373
noname#84373
回答No.2

<input type="text" value="1985" id="yy"> <input type="text" value="02" id="mm"> <input type="text" value="28" id="dd"> <input type="button" value="Go!" onClick="a()"> <script type="text/javascript"> function a(){ var yy = document.getElementById('yy').value; var mm = document.getElementById('mm').value; var dd = document.getElementById('dd').value; var ss = eval((yy + mm + dd).split('').join('+')); var url; if (1==ss || 21 == ss) url = 'a.html'; if (22 == ss) url = 'b.html'; if (!url) url = (ss%23+1)+'.html'; location.href = url; } </script>

kiyu0228
質問者

お礼

迅速なお返事をありがとうございます! 上のソースで、思い描いていたページを作ることができました! 自分ではわからないところも多々ありますが、教えていただいたソースを元に、自分でも理解できるようにします。 本当にありがとうございました!

その他の回答 (2)

noname#84373
noname#84373
回答No.3

個人的には var ss = eval((yy + mm + dd).split('').join('+')); って、おぅ~って思ってんだけど・・・。 注意yy+mm+ddは文字列だし・・ %演算子も参照のこと

kiyu0228
質問者

お礼

_pipi_さん、ありがとうございます! 私には上の_pipi_さんが悩んでいらっしゃる箇所もわからない初心者ですが、アドバイスを元に自身でも工夫してみます。 いろいろと手助けいただきまして、ありがとうございました!

noname#84373
noname#84373
回答No.1

0のときあいまい?! <input type="text" value="1985" id="yy"> <input type="text" value="02" id="mm"> <input type="text" value="28" id="dd"> <input type="button" value="Go!" onClick="a()"> <script type="text/javascript"> function a(){ var yy = document.getElementById('yy').value; var mm = document.getElementById('mm').value; var dd = document.getElementById('dd').value; var ss = eval((yy + mm + dd).split('').join('+')); var url; if (1==ss || 21 == ss) url = 'a.html'; if (22 == ss) url = 'b.html'; if (!url) url = (ss%22)+'.html'; location.href = url; } </script>

kiyu0228
質問者

補足

さっそくのご回答をありがとうございます!とてもうれしいです! それで、質問の仕方がわかりづらくて大変申し訳ございません。 少し占いの計算方法について、補足させていただきます。 占いの誕生日の足し算ですが、誕生日の数字をバラバラにします。 【例1】2009年04月02日生まれ方だと… 2+0+0+9+0+4+0+2=17となり、「17」の数字のページへ行きたい。 【例2】1985年12月31日生まれの方だと… 1+9+8+5+1+2+3+1=30となり、23以上の場合は「-22」を引くので「8」となり、「8」のページへ行きたい。 ※「22以上」ではなく、「23以上」でした。申し訳ございません。  「22」の場合は、「22」のページに行きたいです。 となります。 なので、「0」という数字は基本的にできないようになっています。 ややこしくてすみません…どうぞご伝授のほど、よろしくお願いいたします。