• ベストアンサー

ホームページ上で「標準体重計算」ができるようにしたいのですが・・

今ダイエット日記のサイトを開設しています。 訪問者が「標準体重」や「BMI指数」などを計算する事ができるページを作りたいと思っています。 入力欄があり、「計算」ボタンを押すと結果が表示されるといった感じのものです。 自分でプログラミングが出来ないので、 既存の他サイトのHTMLファイルとjsファイルをホームページビルダーで改変して 使わせてもらおうと考えたのですが、 これがうまくいきません・・・ IEでページを「名前を付けて保存」すると、HTMLファイルと一緒に .filesというフォルダが付いてきますよね? そのフォルダにはjsファイルやその他の画像ファイルが入っています。 使いたいのはHTMLファイルとjsファイルだけなのですが、 この2つだけをコピーしようとすると○○.filesというフォルダも付いてきてしまいます。 なのでこのフォルダだけを削除しようとするとHTMLファイルも一緒に削除されてしまいます。 また、HTMLファイルの名前を変更しようとすると、  「ファイル名を変更すると○○.filesフォルダに属さなくなります。  ファイル名を変更するにはこのファイルを開き新しい名前で保存してから○○.filesフォルダを削除します」 というメッセージが出ます。 なので指示通りに対象ファイルを開いて保存しようとするのですが、 「Webページを保存できませんでした」という「Webページの保存エラー」が出てしまいます。 このフォルダとの関連を外すことはできないのでしょうか。 今のところ、上記のように既存のサイトを参考にさせてもらうしか方法が思いつかないのですが、 他に方法はないでしょうか。 やはり自分で作成するしかないのでしょうか・・・ 長文でスミマセン。どうかアドバイスをお願いしますm(u_u*)m 

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

  • ベストアンサー
回答No.6

こちらで検証環境を作成して動作させてみました。 動きました・・・・・。 エラーチェックに不備がありましたが、計算はします。 という事で考えられるのが、 1.JavaScript外部ファイルがあるべき処に存在しない。 2.JavaScript外部ファイルの文字コードの問題などで文字化けしている。 3.JavaScript自身が無効になっている。 4.今回公開した場所以外に不備がある・・・。 で、確認方法は、 a.taijuu.js の最初に alert("TEST000") とでも挿入して、ページを表示しただけで「TEST000」とダイアログが表示されるか確認しましょう。これでJavaScript外部ファイルが適切に読み込まれているか確認できます。 > <script src="../js/taijuu.js" type="text/javascript"></script> この意味の確認として、 taijuu.html の存在しているフォルダの1つ上の階層のフォルダに存在する、jsフォルダの中に存在する taijuu.js というファイルという意味です。 「../」は上のフォルダという意味ですので注意を。 それから自身(同じフォルダ)を意味する場合は「./」となります。 b.taijuu.js の内容を taijuu.html に移す。 <!-- script src="../js/taijuu.js" type="text/javascript"></script --> <script type="text/javascript"><!-- function calc(){ //エラーチェック if (document.myFORM.HT.value == ""){ alert("身長を入力して下さい"); document.myFORM.HT.focus(); } else if (isNaN(document.myFORM.HT.value)){ alert("身長を半角数字で入力して下さい"); document.myFORM.HT.focus(); } else { var ht = document.myFORM.HT.value; // 身長(cm) var swt = 0; // 標準体重(kg) swt = parseFloat((document.myFORM.HT.value) * parseFloat(document.myFORM.HT.value)/10000) * 22; swt = swt.toString(); document.myFORM.SWT.value = swt.substring(0,5); } } // --> </script> (document.myFORM.ht.focus の ht は HT とHTMLでの記述と同じ大文字に変更しました。エラーとなるブラウザがある為・・・。) これで確認して動く場合は、やはりJavaScript外部ファイルが読めていないか文字化けかと当たりがつきます。 これでも動かない場合はJavaScript自身が無効か他の場所の問題となります。 まぁ1行目に alert("TEST100") とでも入れて反応があるかどうか通常は検証しますが、今回は同一の記述を他者が検証して動作を確認していますので・・・。 とりあえず、確認できる処は片っ端から疑って確認して下さい。 検証も経験しかないので、他者からの流用にも経験,知識が必要で大変です。がんばって下さい。

ryo2222
質問者

お礼

どうやらIEブラウザの設定で動作しなかったようです・・・ 何度もスミマセンでした; >alert("TEST000") で JavaScript外部ファイルが適切に読み込まれているか確認 こういう方法があるんですネ!とても勉強になりました。 本当にありがとうございましたm(u_u*)m

その他の回答 (5)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.5

>ローカルテストで計算してくれません・・・ ウチの環境では、計算できましたよ。 多分、="../js/taijuu.js" のフォルダの指定の誤りとかじゃないでしょうか

ryo2222
質問者

お礼

昨夜ずっと悩んでたところ、 単純にブラウザの設定でした・・・。恥ずかしいです; 何度もご回答いただき本当にありがとうございましたm(u_u*)m

回答No.4

#3の者です。 ちょっと見落としていたので○○.filesフォルダに関して追記します。 >使いたいのはHTMLファイルとjsファイルだけなのですが、 >この2つだけをコピーしようとすると○○.filesというフォルダも付いてきてしまいます。 IEでの「ファイル(F)」 > 「名前を付けて保存(A)」は、 ページの保存です。 ページとは、HTMLファイルだけでなくそこで外部ファイルとして指定している JavaScriptファイルや CSSファイル、画像ファイルなどを含めます。 (JavaScript, CSS 等が解釈された後に改めて読み込まれるファイルは無理みたいですが・・・) ご自身ではなにか HTMLファイルを保存している意識の様ですが、実際は違うのです。 また、ページとして保存する為に基準となるHTMLファイルは書き換えられていて、参照するJavaScriptファイルや CSSファイル、画像ファイルなどの位置情報が全て○○.filesフォルダの中と書き換わっています。 故に、本当に HTMLファイルのソースを保存したいなら、IEなら「表示(V)」 > 「ソース(C)」 でソースを表示した後に、それを保存(もしくは必要箇所をコピーして別ファイルに書き込む)すれば良いと思います。

ryo2222
質問者

お礼

>自身ではなにか HTMLファイルを保存している意識の様ですが 全くその通りでした(^-^; 実際は見えない所でいろんな処理がされているのですね・・・ htmlファイルと.filesフォルダの関連については理解できました。ありがとうございました。

ryo2222
質問者

補足

今度は動作についてなのですが、 taijuu.html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja-JP"> <head> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <META http-equiv="Content-Style-Type" content="text/css"> <title>標準体重</title> <script src="../js/taijuu.js" type="text/javascript"></script> </head> <body> <table class="contents" align="center"> <tr> <td width="75%" valign="top"> <p>あなたの標準体重を求めてみましょう。</p> <form name="myFORM"> <table class="contents90" align="center"> <tr> <td width="50%" align="right">身長を入力してください。</td> <td width="50%"><input type="text" name="HT" size="5">&nbsp;&nbsp;cm</td> </tr> <tr> <td width="50%" align="right"><input type="button" value="計算" onClick="calc();"></td> <td width="50%"><input type="reset" name="reset" value="リセット"></td> </tr> </table> <table class="contents90" align="center"> <tr> <td class="kotae" width="50%" align="right">標準体重は</td> <td class="kotae" width="50%"><input type="text" name="SWT" size="8">&nbsp;&nbsp;kgです。</td> </tr> </table> </form> </td> </tr> </table> </body> </html> ----------------------------------------------- taijuu.js (フォルダjsの中に格納) function calc(){ //エラーチェック if (document.myFORM.HT.value == ""){ alert("身長を入力して下さい"); document.myFORM.ht.focus(); } else if (isNaN(document.myFORM.HT.value)){ alert("身長を半角数字で入力して下さい"); document.myFORM.ht.focus(); } else { var ht = document.myFORM.HT.value; // 身長(cm) var swt = 0; // 標準体重(kg) swt = parseFloat((document.myFORM.HT.value) * parseFloat(document.myFORM.HT.value)/10000) * 22; swt = swt.toString(); document.myFORM.SWT.value = swt.substring(0,5); } } 以上2つのhtmlファイルとjsファイルでサイト構成して動作させようとするのですが ローカルテストで計算してくれません・・・ どこか記述ミスがあるのでしょうか・・??  とりあえず、取り込んだものをそのまま使用しているのですが・・・

回答No.3

>このフォルダとの関連を外すことはできないのでしょうか。 とりあえず、質問にお答えします・・・。 >HTMLファイルの名前を変更しようとすると、 >「ファイル名を変更すると○○.filesフォルダに属さなくなります。~ ・・・、これが答えなのですがぁ~。 このメッセージは、関連が単に外れてしまますよ。中の記述も○○.filesフォルダを意図した記述に書き換わっているのに整合性がとれなくなりますよ! という意味でして・・・。 という事で、IEでWebページを単に「名前を付けて保存」すると、あくまでページが保存されたのであってソース(HTML)が保存された訳ではありません。 ソースはいろいろ書き変わっているので・・・・・。 そもそも、ソースを表示してそれを保存すれば良いのではないかと思うのですが。

ryo2222
質問者

お礼

>ソースを表示してそれを保存すれば良いのでは なるほど!と思い、早速ソースを保存し編集して使ってみたのですが なぜか動作(計算)できませんでした・・・。

  • nipox
  • ベストアンサー率32% (10/31)
回答No.2

BMIの計算などは、自分で作ったほうがいいと思います。 本屋に言って、専門書を見ると、たいてい、例にそういうのが記載してあります。 一方、[.file]のほうですが、これは、僕も前から気になっていて、ひとりで10分くらい研究してみたところ、フォルダの中に「●○.xml」のファイルが入っているのが原因だと思われます。入っていなかったらなぜだかは判りません。 もし、入っていたのならば、それは、ウェブページで使用するファイルが散らばらないように、まとめておいてくれた物です。 そのXMLファイルをメモ帳で開いて適当にいじくればいいと思います。

ryo2222
質問者

お礼

.xmlのファイルは入っていませんでした。。。 専門書も読んでみます。ありがとうございました。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

「BMI指数」の計算については、 以前サンプル(参考URL)で作りました。 ほぼそのまま使えると思います。

参考URL:
http://okwave.jp/kotaeru.php3?qid=1750731
ryo2222
質問者

お礼

オォー!是非使わせていただきます。 どうもありがとうございました。 

関連するQ&A