- ベストアンサー
二つの入力フィールドの比較方法
度々申し訳ありません 二つの日付フィールドの大小比較をしたいのですが、 うまくいきません。 ソースは以下のとおりです。 if ((frm_G_JINFOINPT.txt_TEKI_S.Value) > (frm_G_JINFOINPT.txt_TEKI_E.Value)) { エラーメッセージ表示ロジック { return false; } } 他にも if ((frm_G_JINFOINPT.txt_TEKI_S.Value * 1) > (frm_G_JINFOINPT.txt_TEKI_E.Value * 1)) を試してみましたがだめでした。 alertで結果を見てみると、 txt_TEKI_S にtxt_TEKI_Eより小さい値を入れても、大きい値を入れても、 ">"を"<"に変えてみてもすべて結果は"false"でした(;_;) 入力値は日付の値が"YYYYMMDD"形式の数値で入力されます。 ご指摘よろしくお願いします・・・。(;_;)
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
大文字の Value と小文字のvalueは別物だからなのでは?
その他の回答 (4)
- z_liang_00
- ベストアンサー率42% (45/107)
#1です。 たびたび失礼いたします。 > 比較をするときには一旦変数に格納する必要があるという事なのでしょうか? 最初、 フォーム名.input名.value と書いたら、 Firefox の JavaScript コンソールでエラーが出たのです。 >> 警告: ID/NAME により要素がグローバルスコープで参照されています。代わりに W3C 標準の document.getElementById() を使用してください。 でも、直接的な原因は、#3のかたが仰言る、Vが大文字であることが原因みたいですね。
お礼
本当に助かりました。 他の記述方法の勉強にもなりました。 IDの使い方とか、もっと勉強します 有り難うございました。
こんばんわ。 document省略しても大丈夫なんですね。 あと、No.3の方のおっしゃる通り、 Vの大文字小文字を見逃していました。 大変、失礼しました。 それでは。
お礼
色々有り難うございました。 大変助かりました。
こんにちは。 JavaScriptでinput要素の値を取得するには、 以下の通りにする必要があるのではないでしょうか? document.form要素のname.input要素のname.value 例: <script type="text/JavaScript"> <!-- function test () { if (document.formname.textA.value > document.formname.textB.value) { alert("The A is larger."); } else { alert("The B is larger."); } } // --> </script> <form name="formname"> <input type="text" name="textA" value="20"> <input type="text" name="textB" value="10"> <input type="button" OnClick="test();" value="OK"> </form> 他にも、エレメント番号やNo.1の方のようにIDを使う方法など。 それでは。
お礼
色々な方法があるのですね。 頑張って勉強します。 有り難うございました。
- z_liang_00
- ベストアンサー率42% (45/107)
HTMLの方がどうなっているのかわからないのですが、 こんな感じなら、ちゃんと判定できましたよ。 <html> <script language="javascript"> <!-- function foo () { var objs = document.getElementById("txt_TEKI_S") ; var obje = document.getElementById("txt_TEKI_E") ; //if ((frm_G_JINFOINPT.txt_TEKI_S.Value) > (frm_G_JINFOINPT.txt_TEKI_E.Value)) if (objs.value > obje.value) { //エラーメッセージ表示ロジック alert("Sが大きい") ; } else { alert("Eが大きい") ; } } //--> </script> <body> <form name="frm_G_JINFOINPT"> S<input id="txt_TEKI_S" type="text"><br> E<input id="txt_TEKI_E" type="text"><br> <input type="button" OnClick="foo();" value="click me!"> </form> </body> </html>
お礼
z_liang_00さん、早速のご回答有り難うございました。 var objs = document.getElementById("txt_TEKI_S") ; var obje = document.getElementById("txt_TEKI_E") ; を追加して objs と obje の比較だとうまくいきました。 比較をするときには一旦変数に格納する必要があるという事なのでしょうか?
お礼
・・・なるほど。 ついついVBの癖が出てしまいました。 大変失礼しました。 頑張って勉強します。