function内での時間計算方法がいまいちうまくいきません。
調べたりして書いたのですがfunctionが呼ばれず処理が働きません
入力した場所からフォーカスが外れたとき呼ぶようにしています
※ onblur = func()
<test.php>
function func(){
$s_time = parseFloat(document.TEST.start_time.value); //入力値Aの時間
$s_minute = parseFloat(document.TEST.start_minute.value); //入力値Aの分
$e_time = parseFloat(document.TEST.end_time.value); //入力値Bの時間
$e_minute = parseFloat(document.TEST.end_minute.value); //入力値Bの分
//共通変数
$base_start = 540;
$base_end = 1080;
$s_t = $s_time * 60;
$s_data = $s_t + $s_minute; //分に変換
$e_t = $e_time * 60;
$e_data = $e_t + $e_minute; //分に変換
--------------------------ここから計算処理
$kekka_start = $s_data - $base_start;
$kekka_end = $base_end - $e_data;
$kekka_data = $kekka_start + $kekka_end;
$kekka_min = $kekka_data / 60; //時間に変換
$kekka_time = explode(".",$kekka_min); //小数点の切り捨て☆
$kekka_times = $kekka_data - ($kekka_time[0] * 60); //--分のデータ作成
$CS = ($kekka_time.":".$chis_times); //表示データの連結☆
document.TEST.kekka.value = CS;
}
☆の部分がうまくいきません。コメントアウトしてexplode前の変数を表示するならばできるのですが
時間の合計を出したいので時間と分を別々に出して連結で表示させたいです。
かなり詰まっています。どうかよろしくお願いします。
No.1ベストアンサー
- 回答日時:
>入力した場所からフォーカスが外れたとき呼ぶようにしています
onblurで呼び出せるのはJavaScriptの関数だけです。phpの関数はブラウザに返しているソースには含まれていませんので、JavaScriptから利用することは出来ません。サーバサイドとクライアントサイドの違いを理解してください。
parseFloatとかあるのでJavaScriptの関数かと思ったのですが、文字列連結などはphpの演算子が混じっているしexplodeはあるし・・・。JavaScriptならJavaScriptで完結させてください。
この回答への補足
回答、誠にありがとうございます。
PHPは初心者で素人なのでJavaScriptのとPHPが混ざっていました・・・
onblurで呼び出せるのはJavaScriptのみでexplodeや
文字連結はPHP記述なのでおかしいということですね。
それらの処理をするならPHP記述ではなくJavaScriptで記述するということでしょうか。
回答、ありがとうございました。
JavaScriptで文字の切り分け、連結を実装したところ無事うまく動きました。
まだまだ勉強不足でした。ありがとうございました。
No.3
- 回答日時:
PHPだと思って読んでしまいました。
これ、JavaScriptなんですね。紛らわしい書き方はしないほうがいいですよ。$kekka_time = explode(".",$kekka_min);
↓
$kekka_time = ("" + $kekka_min).split(".");
としてください。
回答ありがとうございます。
お教えいただいた記述ですが私の書き方が悪いか、記述場所が間違っているのかうまく動きませんでした。
Math.floorを使用して動作確認できました。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
名古屋の栄と錦は治安悪い?
-
シリアル通信について
-
NumericUpDownの数値を選択済み...
-
項目数は英語で
-
フォーカスをあわせる
-
『μg』の読み方と意味。
-
C++の例外処理
-
word
-
数式中の文字をCambria Math以...
-
Illustrator CS5 営業の「営」...
-
Adobe Acrobatについて
-
Pages 09 でテキストボックスで...
-
原稿用紙で「」の文が2行以上...
-
イラレでダブルクリックで文字...
-
ファーストピアスのキャッチが...
-
Videostudioテキストの横スクロ...
-
【aviutl】 画像にテキストを張...
-
エクセルのオートシェイプ内の...
-
メールが文字化けします
-
VBにて、非アクティブでフォー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
名古屋の栄と錦は治安悪い?
-
『μg』の読み方と意味。
-
NumericUpDownの数値を選択済み...
-
VB.NET でのLaod/unLoad につ...
-
テキストボックスからフォーカ...
-
VB.NETのテキストボック...
-
項目数は英語で
-
mailの送信音がしなくなったの...
-
シリアル通信について
-
vba メモリーリーク
-
CPUを2個搭載できるマザーボー...
-
フォームを開く時のイベント処理
-
TextBoxにカーソルがあるかない...
-
一部の文字のみ文字化けします
-
スマホが水に濡れてしまい、中...
-
C++の例外処理
-
PDFの余白、黄ばみ除去等の加工...
-
ob_start()した後、ob_flush()...
-
ヒント表示について
-
シリアルフラッシュメモリをな...
おすすめ情報