0

生年月日を取得し、すべての数字を合計してから、結果を使用してデータベースにクエリを実行し、結果を表示するフォームを作成しようとしています。データベースから選択するには、合計が 1 から 22 の間の数値でなければなりません。

関数getBirthCardをトリガーするフォームボタンがありますが、クリックするとフォーム入力の値がURLに吐き出されます。

これが機能するために適切にコーディングされていないものを誰か教えてもらえますか? よろしくお願いします!

<script language="JavaScript" type="text/javascript">

function getBirthCard() {
    var month = lpn.month.value;
    var day = lpn.day.value;
    var Byear = lpn.year.value;
    var century = Byear.substring (0,2);
    var year = Byear - century*100;
    sum = parseInt(day) + parseInt(month) + parseInt(century) + parseInt(year);

    reduce();

    results(sum);
 }

 function reduce(){

 var first; // first one or two digits
 var last; // last digit

 var sumStr = "" + sum;

 // while number is bigger than 22
 while (sum > 22) {
    // if it is a three digit number
    if (sum > 99) {
        first= sumStr.substring(0,2);
        last= sumStr.substring(2);
        sum = parseInt(first) + parseInt(last);
        sumStr = "" + sum;

    // if it is a two digit number
    } else {
        first= sumStr.substring(0,1);
        last= sumStr.substring(1);
        sum = parseInt(first) + parseInt(last);
        sumStr = "" + sum;
    }
 } // end while

} // end reduce   


}
function results()
    {
    window.location.assign("http://arcanabazaar.com/results.php?id=' + sum")

    }

</script>

私が使用しているフォームは次のとおりです。

<form class="form-inline" action="" name="lpn" method="GET">
<input type="text" id="month" name="month" placeholder="08">
<input type="text" id="day" name="day" placeholder="20">
<input type="text" id="year" name="year" placeholder="1987">
<br><br>
<button type="submit" onclick="getBirthCard()" class="btn btn-large">What's My Card?</button>
</form>
4

1 に答える 1