0

送信ボタンをクリックするとテキストが表示される、無関係な 3 つの質問をするフォームを作成しています。

3 つの質問すべてに if-else ステートメントが含まれています。2 つの質問はテキスト入力で、もう 1 つは選択ボックスで、その後に送信ボタンがあります。

フォームを表示することはできますが、データを入力して送信すると、必要なテキストではなく空白のフォームが返されます (「アラート」メッセージを表示しようとしていません)。

これは私がこれまでに持っているものです:

<!DOCTYPE HTML>
<html>
  <head>
  <title>Questions</title>

    <script type="text/javascript"> 

      function questions()
    {
    var hours, age, timeday;
    hours = document.form1.workhours.value;
    hours = pasrseInt(hours);
    age = document.form1.years.value;
    age = parseInt(age);
    timeday = document.form1.dayofweek.value;
    }

        if (hours >= 40)
        {
            document.write("Wow, what a hard worker!<br>");
        }
        else
        {
            document.write("Better work harder!<br>");
        }
        if (  age >= 65)
        {
            document.write("You are Eligible for retirement benefits<br>");
        }
        else
        {
            document.write("Sorry, no benefits yet.<br>");
        }
        if (day == "Sunday");
        {
            document.write("No need to pay the meter!<br>");
        }
        else
        {
            document.write("Better get some quarters!<br>");
        }

</script>
</head>
<body>
<form name="form1">
    How many hours have you worked? <input type="text" name="workhours"><br>
    How old are you? <input type="text" name="years"><br>
    What day is it today? 

    <select name="dayofweek">
    <option value="???">-Select a Day-</option>
    <option value="Sunday">Sunday</option>
    <option value="Monday">Monday</option>
    <option value="Tuesday">Tuesday</option>
    <option value="Wednesday">Wednesday</option>
    <option value="Thursday">Thursday</option>
    <option value="Friday">Friday</option>
    <option value="Saturday">Saturday</option>
    </select></br>
<p>
</p>
    <input type="submit" value="Submit" onClick="questions()">
</form>

</body>
</html>
4

1 に答える 1

1

問題は、フォームの送信をキャンセルしていないため、ページが更新されていることです。onclick に return false を追加します。

<input type="submit" value="Submit" onClick="questions(); return false;">

ページの読み込み後に document.write を使用すると、ページのコンテンツが置き換えられます。ページにテキストを追加するには、innerHTML を使用する必要があります。

于 2012-10-30T20:32:26.340 に答える