激凹みから立ち直る方法

先日よりJavaScriptの勉強をしていて、以下のスクリプトで、17時までは今日の運勢は?と表示して、17時以降は明日の運勢は?と表示したいのですが、うまく動きません。何処をどう直したら良いのでしょうか?
 わかる方教えて下さい。よろしくお願いします。
<HTML>
<HEAD>
<TITLE>おみくじ</TITLE>
</HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!---
function omikuji()
{
r=Math.round(Math.random()*4);
if(r==1){
document.form_a.text1.value="ラッキー!大吉!";}
else if(r==2){
document.form_a.text1.value="ほっ!中吉!";}
else if(r==3){
document.form_a.text1.value="小吉!まぁまぁだね";}
else if(r==4){
document.form_a.text1.value="末吉!こんなものかな";}
else{
document.form_a.text1.value="凶・・気をつけないと";}
}
//--->
<!--
acDate=new Date();
myHour=acDate.getHours();
// -->
</SCRIPT>
<BODY>
<FORM NAME="form_a">
<INPUT TYPE="BUTTON" VALUE="おみくじ" onClick='omikuji()'>
<INPUT TYPE="TEXT"
if(myHour<=17){
VALUE="今日の運勢は?!"NAME="text1";}
else if(myHour<=24){
VALUE="明日の運勢は?!"NAME="text1";}
>
</FORM>
</BODY>
</HTML>

A 回答 (1件)

質問文のソースを見る限りでは、HTMLの中に無理にJavaScriptのソースコードを混入させているようですが、こういった記述ではそのソースがJavaScriptとして認識されないので、動作してくれません。

HTMLとJavaScriptは別個のものとして、分けて考える必要があると思いますよ。
JavaScriptのソースコードは、<script>要素内に記述するか、もしくはタグ内に追加されるonClickなどのイベントハンドラ内に記述しないと、スクリプトとして認識されませんので、まずはこのあたりの記述の仕方から見直してみる必要があるのではないかと思います。

質問文のソースに修正を加えてみました。 下記のソースではいかがでしょうか。

<HTML>
<HEAD>
<TITLE>おみくじ</TITLE>
</HEAD>
<SCRIPT LANGUAGE="JavaScript"><!--
function omikuji(){
r=Math.round(Math.random()*4);
if(r==1){
document.form_a.text1.value="ラッキー!大吉!";}
else if(r==2){
document.form_a.text1.value="ほっ!中吉!";}
else if(r==3){
document.form_a.text1.value="小吉!まぁまぁだね";}
else if(r==4){
document.form_a.text1.value="末吉!こんなものかな";}
else{
document.form_a.text1.value="凶・・気をつけないと";}
}

acDate=new Date();
myHour=acDate.getHours();

function init(){
if (myHour<=17){
document.form_a.text1.value="今日の運勢は?!"
}
else {
document.form_a.text1.value="明日の運勢は?!"
}
}

window.onload=init;
// -->
</SCRIPT>
<BODY>
<FORM NAME="form_a">
<INPUT TYPE="BUTTON" VALUE="おみくじ" onClick='omikuji()'>
<INPUT TYPE="TEXT" NAME="text1">
</FORM>
</BODY>
</HTML>


参考になれば。
    • good
    • 0
この回答へのお礼

ありがとうございました。
やりたいことがあったので、わけもわからず始めたのですが、1つ目はうまくいったもののこちらは全くでした。基本がわかっていないため、教えていただいたものと良く見比べて勉強します。
 

お礼日時:2004/01/12 22:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!