1

ユーザー名を入力するフォームを作成しようとしていますが、送信ボタンを押すと、おはよう、午後、夕方(時間によって異なります)のアラートが表示されます。私は唾を吐く距離にいるように感じますが、それを機能させることができません。関連するコードスニペットは次のとおりです。

<script type="text/javascript"> 
<!--
    function say_hello() {
        var date = new Date();
        var time = date.getHours();
        var name = document.forms["hello"]["name"].value;

            if (time < 12) {
                alert ("Good morning, "+name+"!");
            }

            else if (time > 12 && time < 18) {
                alert ("Good afternoon, "+name+"!")
            }

            else {
                alert ("Good evening, "+name+"!")
            }
        );
    }
// -->
</script>

およびHTML:

    <form name="hello" action=""> 
    <p> 
    What is your name?
    <input type="text" name="name" size="10">
    </input> 
    </p> 
    <p> 
    <input type="button" name="Submit" onclick="say_hello()" value="Receive Personal Message!">
    </input>
    </p> 
</form>

ありがとうございました!:D

4

4 に答える 4

0
function say_hello() {
    var date = new Date();
    var time = date.getHours();
    var name = document.forms["hello"]["name"].value;

        if (time < 12) {
            alert ("Good morning, "+name+"!");
        }

        else if (time > 12 && time < 18) {
            alert ("Good afternoon, "+name+"!")
        }

        else {
            alert ("Good evening, "+name+"!")
        }
    //); //This causes a syntax error
}
于 2011-03-09T01:00:38.337 に答える
0

あなたの関数では、最後の の直後に構文エラーがあります。else {...}不要な があり);ます。

削除してみてください。動作するはずです。

于 2011-03-09T01:01:42.290 に答える
0

すべての構文エラーを修正したら、次のようにイベントを添付することをお勧めします。

document.forms["hello"]["Submit"].onclick=say_hello;

代わりonclick="..."

ライブデモ

于 2011-03-09T01:02:53.710 に答える