• ベストアンサー

JavaScriptについて

現在JavaScriptを書いていますが下記の表記ではまったく表示できません。 <SCRIPT language="JavaScript"> <!-- document.write("ただいま"myYear"年",myMonth+1, "月",myDate,"日",myHours,"時",myMinutes,"分です"); //--> </SCRIPT> しかし、下記の表記では正常に表示できます。 <SCRIPT language="JavaScript"> <!-- with(document){ write(myYear); write("年"); write(myMonth); write("月"); write(myDate); write("日"); write(myHours); write("時"); write(myMinutes); write("分"); } //--> </SCRIPT> もちろん関数は正常に作られています。 なぜだかわかりますか? 教えてください。 以上

  • homma
  • お礼率84% (744/884)

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

  • ベストアンサー
  • mcurry
  • ベストアンサー率28% (45/158)
回答No.1

はじめまして。 >document.write("ただいま"myYear"年",myMonth+1, "月",myDate,"日",myHours,"時",myMinutes,"分です"); myYearの前後にはカンマがないのに、他の変数の前後にはカンマがあったりしてますね。 myYear等はおそらく変数でどこかで計算された値がはいっているものだとおもいますが、 document.write("今日は"+myYear+"年です。"); のように書いてみたらどうですか? 変数の前後は+で。(カンマでなく)

homma
質問者

お礼

ありがとうございます。 買った参考書にはカンマを入れて書いてあったものですから。 mcurryさんから教わったとおりで解決しました。

その他の回答 (1)

  • s_doc
  • ベストアンサー率24% (93/377)
回答No.2

myYearの前後にカンマを入れればOKだと思います。

homma
質問者

お礼

ご指摘の箇所を直す前にNo.1の回答で解決しました。 ただし、参考書にカンマで書いてあったのでご指摘の箇所を直して試してみます。 カンマという方法も有るのですよね? 今少しこの質問ページを開けておきますので教えて下さい。

homma
質問者

補足

書き込みの場所があべこべになってしまいましたが、カンマでも問題なく表示出来ることを確認しました。 ありがとうございました。

関連するQ&A

  • javaScriptのエラー

    サイトにjavaScriptを使って自動日付表示があったのでアップしたところ年代が2004では無く104と表示してしまいます。ちなみにスクリプトは下記の通りですよろしく御願します。 <略> myWeek = new Array("Sun.", "Mon.", "Tue.", "Wed.", "Thu.", "Fri.", "Sat."); myD = new Date(); myYear = (myD.getYear() <= 99) ? 1900+myD.getYear() : myD.getYear(); myMonth = myD.getMonth() + 1; myDate = myYear + "/" + myMonth + "/" + myD.getDate(); myDay = myWeek[myD.getDay()]; document.write(myDate, " ", myDay); <略>

    • ベストアンサー
    • Mac
  • JavaScriptの勉強を始めました。

    あるサイトを見ながらJavaScriptの勉強を始めました。 まだ初歩の初歩です。 <script language="JavaScript"> <!-- myD = new Date(); myYear = myD.getYear(); myYear4 = (myYear < 2000) ? myYear+1900 : myYear; myMess = myYear4; document.write( myMess ); --> </script> こういったコードがあったのですが、 myYear4 = (myYear < 2000) ? myYear+1900 : myYear; この部分をifで置き換えれるのかなと思い、下記のコードを作ってみました。 <script language="JavaScript"> <!-- myD = new Date(); myYear = myD.getYear(); if ( myYear < 2000 ){ myD = myYear + 1900; }else{ myD = myYear; } myMess = myYear; document.write( myMess ); --> </script> これって合っていますか? 暇なときでいいので見て下さったら助かります。 どうぞよろしくお願いします。

  • プルダウンの値とJavaScript

    下記のようなソースでHTMLのID、パスワードを入力しログを閲覧する画面を作成しました。 プルダウンで今月のログか先月のログを選択するようにしたいと思いますが、 value値の所にJavaScriptの値を入力したいと思っていますが上手くいきません。 具体的には、<OPTION value="1">の1の代わりにdlogの値を<OPTION value="2">の2の 代わりにllogの値を入力したいと思っています。 宜しくお願い致します。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE></TITLE> <SCRIPT Language="JavaScript"> <!-- myDate = new Date(); myYear =1900+(myDate.getYear()%1900); dYear =(myDate.getYear() % 100); myMonth =myDate.getMonth() + 1; lastMonth =myDate.getMonth(); if (myMonth<10){ dtMonth=("0"+(myDate.getMonth()+1)); } else {dtMonth =myMonth; } if (myMonth<10){ dlMonth=("0"+(myDate.getMonth())); } else {dlMonth =(myDate.getMonth()); } dlog =(dYear+""+dtMonth+"_log.txt"); if (myMonth == 1){ llog=(dYear-1+""+"12_log.txt"); } else {llog=(dYear+""+dlMonth+"_log.txt"); } // --> </SCRIPT> </HEAD> <BODY> <P align="center"><FONT size="+2"><B>ログファイル閲覧メニュー</B></FONT></P> <HR width="75%"> <form action="../cgi-bin/mail/mail.cgi" method="post"> <CENTER> <TABLE border="0"> <TBODY> <TR> <TD>User ID:</TD> <TD colspan="2"><INPUT size="24" type="text" name="u_id"></TD> </TR> <TR> <TD>Pass Word:</TD> <TD colspan="2"><INPUT size="24" type="password" name="pass"></TD> </TR> <TR> <TD>表示するログ</TD> <TD><SELECT name="log"> <OPTION value="1"> <SCRIPT Language="JavaScript"> <!-- document.write("今月:",myYear,"年",myMonth,"月"); // --> </SCRIPT> </OPTION> <OPTION value="2"><SCRIPT Language="JavaScript"> <!-- if (myMonth == 1){ document.write("先月:",myYear-1,"年12月"); } else {document.write("先月:",myYear,"年",lastMonth,"月"); } // --> </SCRIPT> </OPTION> </SELECT></TD> <TD><INPUT type="submit" name="submit" value="閲覧"></TD> </TR> </TBODY> </TABLE> </CENTER> </FORM> </BODY> </HTML>

  • JavaScriptの書き方

    C言語をすこしやって、つい最近JavaScriptを始めました。 new Date().getYear() ↑のような書き方はどうして「.(ドット)」が入るんですか?このような書き方はC言語の構造体内の変数を操作するときと似てる気がしますが、JavaScriptはどういう構造になっているんでしょうか? myDate = new Date(); myYear = myDate.getYear(); document.write(myYear); と document.write( new Date().getYear() ); は、 おなじ表示結果になりますよね。ドットで区切ってかく理由が分かりません。教えてください!

  • javascriptでの大文字小文字の区別

    前に質問をし、大文字と小文字の区別があることはわかりました。そこで、日にちを出すために <script language="javascript"> <!-- mydate=new Date(); ye=mydate.getFullYear()+"年"; mo=mydate.getMonth()+1+"月"; da=mydate.getDate()+"日"; day=mydate.getDay(); day2=new Array(7); day2[0]="日";day2[1]="月";day2[2]="火"; day2[3]="水";day2[4]="木";day2[5]="金"; day2[6]="土"; document.write("<font style='font-size : 16px; color : #666666'>"); document.write("本日は"+ye+mo+da+"("+day2[day]+") "); document.write("です</font>"); //--> </script> とすることはわかったのですが、一番初めの<script language="javascript">は物によって<SCRIPT LANGUAGE="JavaScript">や<SCRIPT language="Javascript">となっていたり、年数などのyeはYeとなっていたりします。javascriptにも大文字と小文字を区別しないものがあるということですか。もしそうならどういったものがどちらでもいいのですか。

  • 画面の表示が出なくなりました。

    ここ1年ほどHPを営業用で開いています。 TOPに当日の曜日の表示がでるように、どこかのサンプル提供サイトからHTMLをコピーして使っていました。ところが、今日、表示が出ないことに気づきました。いつからエラーになったかわかりません。HTMLを何かのはずみで、損なったのかもしれません。 現在のHTMLを当該部分のみ表示します。 <td><b> WEEK :</b></td> <td bgcolor="black"><font size="4" color="yellow"><b><script language="JavaScript"><!--myTbl = new Array ("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");myD = new Date();myYear = myD.getYear();myYear4 = (myYear < 2000) ? myYear+1900 : myYear;myMonth = myD.getMonth() + 1;myDate = myD.getDate();myDay = myD.getDay();myHours = myD.getHours();myMinutes = myD.getMinutes();mySeconds = myD.getSeconds();myMess1 = myYear4 + "年" + myMonth + "月" + myDate + "日";myMess2 = myTbl[myDay] + "";myMess3 = myHours + "時" + myMinutes + "分" + mySeconds + "秒";myMess = myMess2;document.write( myMess );// --></script></b></font> </td> どこかにバグがあると思います。教えてください。 HTMLは自分でプログラミングしますが、CGIは全く出来ません。

    • ベストアンサー
    • HTML
  • 【javascript】 年齢計算

    初心者です。 イヌでもわかるjavascript講座(http://www.red.oit-net.jp/tatsuya/java/)より拝借して、年齢計算のプログラムをつくっています。 しかし、これでやると、閏年がない年でも、フツウに計算できてしまいますし、「32日」などでも入力できてしまいます。 これを改造して、正確でない日付を入力できないようにしたいのですが、インターネットなどを調べても、どのようにしたらよいのか、見当もつかず困っております。 お手数ですが、どのようにしたらよいのか、そしてできたら、考え方などもお教えくださいませ。 以下がそのソースです。 <HTML> <HEAD> <TITLE></TITLE> <script language="javascript"> <!-- function myAge(N){ //現在から、誕生日を引き、基準日に足す //つまり、現在から、誕生日の日にち分の時間だけ引く Today = new Date(); myBirth = new Date(1970 , 0 , document.myFormAge.myAgeD.value ); myBirth.setTime(Today.getTime()-myBirth.getTime()); //求めた年月日から基準日を引く myYear = myBirth.getUTCFullYear() - document.myFormAge.myAgeY.value; myMonth = myBirth.getUTCMonth() - (document.myFormAge.myAgeM.value - 1); if(myMonth < 0){ //月がマイナスなので年から繰り下げ myYear --; myMonth += 12; } myDate = myBirth.getUTCDate(); document.myFormAge.Age.value = ""+myYear+""; } //--> </SCRIPT> </HEAD> <BODY> <FORM name="myFormAge"> 生年月日を入力してください。 <br> <br> 年(西暦)<INPUT type="text" size="4" name="myAgeY"> 月<INPUT type="text" size="2" name="myAgeM"> 日<INPUT type="text" size="2" name="myAgeD" onKeyDown="myAge(this.form)"> <br> <br> <br> <br> <br> <INPUT type="text" size="5" name="Age">歳 </FORM> </BODY> </HTML> よろしくご教授くださいませ。

  • Date関数で取得したデータの取得方法

    <javascript> myD = new Date(); myYear = myD.getFullYear(); myMonth = myD.getMonth() + 1; if(myMonth < 10) myMonth="0"+myMonth; myDate = myD.getDate(); if(myDate < 10) myDate="0"+myDate; myMess1 = myYear + "-" + myMonth + "-" + myDate + ""; function myFunction(){ document.test.data1.value = myMess1; } date = document.test.data1.value; //ここでdata1に入ってる情報を取得できない。 </javascript> <body> <form name="test" method="POST" action="<?php echo $hogehoge; ?>"> <input name="data1" id="data1" type="text" value="<?php echo $row_test['data1']; ?>" size="20" /> <input type="button" value="当日" onclick="myFunction()"> </body> ここで、テキストボックスに入ってるDate関数で取得したデータをdate変数に入れたいのですが、それがどうやってもできません。なにが問題かわかる人がいたらお願いします。 もし必要な情報があればいってください。 回答よろしくおねがいします!

  • VBscriptが起動しない?

    次のソースでVBSの400A0800コンパイルエラー、ステートメントがありませんというエラーがでてしまいます。 場所 1行 1文字目 また、このソースだけでなく、 他のVBSのファイルでも同じようなエラーがでてしまいます。 実行環境の問題なのか? scriptの定義の仕方の問題なのかわかりません? 分かる方、是非、解決法をよろしくお願いします。 ちなみにIE6を使用しています。 <script language="VBS"> myYear = Year(Now) myMonth = Month(Now) myday = Day(Now) document.write("今日は" & myyear & "年"& myMonth & "月" & Myday & "日です") </script>

  • エクセルVBAでの日付表示

    エクセル2002使用です。 すみませんが、よろしくお願いします。 変数で取得した値で、「H16.9.14」のようにセルに入れたいのですがうまくいきません。 sub 和暦() Dim myyear,mymonth,mydate myyear = 16 mymonth = 9 mydate = 14 range("A1").Value ="H" & myyear&"."&mymonth&"."&mydate End sub range("A1")の右辺をいろいろと調べて試したのですがうまくいきません。また、H16.9.14と入力できた場合も文字列ではなく日付表示書式として扱いたいです。 よろしくお願い致します。