初めまして!初めてこの掲示板にきました。
今後ともよろしくお願いします。
今、研修で会議室の予約システムを作っています。
お昼休み(12~13時)を空欄にしたいのですが、
if文が解らなくて困っています。
本も見てみたのですが、載っていません。
どなたか教えてください。
書いてみた方法では、エラーになる上、欲しい物とは程遠い物が出来てしまいます。
s_timeは選択された開始時間、e_timeは選択された終了時間です。
このように作っています。
function gomon(){
if((document.form1.e_time.value - document.form1.s_time.value) > 5){
alert("利用時間は5時間までです。");
}
if((document.form1.e_time.value - document.form1.s_time.value) < 6){
sanmon();
}
}
No.2ベストアンサー
- 回答日時:
質問に書かれた内容だけ見る限りは、問題はありません。
確かにフォームオブジェクトの value は「文字列」として扱われますが、減算をした時点で「数値」に変換されるので、No.1 のようにしなくても大丈夫です。
> s_timeは選択された開始時間、e_timeは選択された終了時間です。
これを読む限り、時刻はプルダウン(SELECTタグ)で選択させるようになっていると思うのですが、どうでしょうか?
もしプルダウンだとすれば、選択された値は
document.form1.s_time.value
ではなく、
document.form1.s_time.options[document.form1.s_time.selectedIndex].value
です。
※この方法は、OPTIONタグに value が指定されている必要があります。
※OPTIONタグを、「<OPTION>12」のように書いている場合は、value の部分を text に変えればOKです。
また、2つ目の if文についてですが、これは else でOKです。
else は、if文の条件が成り立たなかった場合に実行される文です。
if (条件) {
成り立った時の処理
} else {
成り立たなかった時の処理
}
という使い方をします。
参考URLのサイトにも解説があるので、調べてみて下さい。
参考URL:http://tohoho.wakusei.ne.jp/js/index.htm
No.1
- 回答日時:
こんにちは。
ご質問の内容ですが、if文の構文としては間違っていないのですが、比較するオブジェクトが違う型なので欲しい結果が得られないのだと思います。
この例にあるe_timeやs_timeはフォームから入力されたものだと思うのですが、このままでは文字列オブジェクトとして扱われます。引き算のところでエラーになるし、数値である5や6との比較がうまくいきません。
この場合、文字列をparseIntという関数で整数に変換する必要があります。
function gomon(){
var startTime = parseInt(document.form1.s_time.value);
var endTime = parseInt(document.form1.e_time.value);
if((endTime-startTime) > 5){
// エラーメッセージ
}
if((endTime-startTime) < 6){
sanmon();
}
}
早いレス、ありがとうございます。
こんなに早く返ってくるとは思っていなかった為、
返事が遅れ、申し訳ございません。
助かりました、ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- Visual Basic(VBA) 動きっぱなしです。止め方とプロシージャの間違いを教えて下さい! 5 2022/08/15 23:08
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- PHP 共通の処理をまとめる方法がわからないのでアドバイスお願いします。 1 2022/12/19 20:20
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- Excel(エクセル) Excel2007での条件付き書式について 6 2023/05/02 10:56
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
onchangeイベントを強制的に発...
-
formのfileの値をhiddenでも持...
-
JavascriptでDOM-based XSSの発...
-
クリックさせたいが、click()が...
-
VB.NETで<Input>タグ、<text...
-
javaScriptの変数をJavaの変数...
-
追加ボタンを押した際に ok ボ...
-
親ウィンドウのフォームの値を変更
-
vbscriptでIE自動入力(コンボ...
-
onclickが動作しない
-
オンクリックで現在時刻の取得→...
-
ボタンかリンクをクリックする...
-
JavaScriptのfileオブジェクト...
-
innerHTML内では改行は禁止?
-
JSやVBSで、ボタンを押す...
-
マウスをブラウザの外に出した...
-
正規表現で複数マッチ条件で悩...
-
return trueとreturn falseの用...
-
【jsp/Java】チェックボックス...
-
リストボックス内の重複したも...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
onchangeイベントを強制的に発...
-
JavascriptでDOM-based XSSの発...
-
onclickが動作しない
-
クリックさせたいが、click()が...
-
追加ボタンを押した際に ok ボ...
-
innerHTML内では改行は禁止?
-
ボタンかリンクをクリックする...
-
formのfileの値をhiddenでも持...
-
javaScriptの変数をJavaの変数...
-
JavaScriptのfileオブジェクト...
-
VB.NETで<Input>タグ、<text...
-
受け取ったパラメータが文字化け
-
JQueryでfunctionに引数としてI...
-
javascriptで作成されたテーブ...
-
jQueryで設定したイベントハン...
-
開いた子ウィンドウにあるボタ...
-
コードレビューをお願いします。
-
ボタンをクリックするとテキス...
-
BackSpaceしたい(QNo.2734284の...
-
URL 判定
おすすめ情報