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.2
- 回答日時:
PHPをクライアントサイドのロジックのように書いてますが、なぜでしょうか?
回答ありがとうございます。
PHPの知識が浅く混ぜ混ぜで書いてしまっていました。
もっと記述を学んでいきます。
ありがとうございました。
No.3
- 回答日時:
PHPだと思って読んでしまいました。
これ、JavaScriptなんですね。紛らわしい書き方はしないほうがいいですよ。$kekka_time = explode(".",$kekka_min);
↓
$kekka_time = ("" + $kekka_min).split(".");
としてください。
回答ありがとうございます。
お教えいただいた記述ですが私の書き方が悪いか、記述場所が間違っているのかうまく動きませんでした。
Math.floorを使用して動作確認できました。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- PHP a href リンクタグでだけで 送信が できちゃっています。 1 2022/04/18 04:25
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 4 2023/05/26 10:43
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
名古屋の栄と錦は治安悪い?
-
『μg』の読み方と意味。
-
テキストボックスからフォーカ...
-
VB.NET でのLaod/unLoad につ...
-
NumericUpDownの数値を選択済み...
-
VB.NETのテキストボック...
-
eclipseのナビゲーターの設定に...
-
ヒント表示について
-
シリアル通信について
-
エアー漏れの流量の計算式を教...
-
CPUを2個搭載できるマザーボー...
-
CD-RWメディアにマジックで書い...
-
Movable Type 3.11-jaの文字化け
-
充電式インパクトドライバ-の...
-
Windowsが安全なUNIXを使わない...
-
C++の例外処理
-
自動ドアのセンサーの変更
-
3dsのデータバックアップでマイ...
-
eclipsのホワイトスペースで
-
word
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
名古屋の栄と錦は治安悪い?
-
『μg』の読み方と意味。
-
NumericUpDownの数値を選択済み...
-
VB.NET でのLaod/unLoad につ...
-
フォームを開く時のイベント処理
-
VB.NETのテキストボック...
-
テキストボックスからフォーカ...
-
一部の文字のみ文字化けします
-
項目数は英語で
-
エアー漏れの流量の計算式を教...
-
コンピュータ言語paythonのエデ...
-
vba メモリーリーク
-
ヒント表示について
-
C#での変数スコープ?
-
C++の例外処理
-
受け取った値が"undefined"と表...
-
シリアルフラッシュメモリをな...
-
globalと$GLOBALSの違いは?
-
ブック開いたときのフォーカス指定
-
宮迫のフライデー、誰がリーク...
おすすめ情報