2017-07-04 7 views
0

開始時刻の値が終了時刻の値よりも高い場合にエラーメッセージを表示するが、午前8時に開始を選択して4時に終了すると、このフォームが表示されるはずです。 00〜01の間に0を残さない限り、エラーメッセージは表示されません.0〜9のようにゼロが認識されないようです(01、02、03、04、05、06、07、08、09) 10 - 48よりも高い数字は、なぜですか?なぜこのフォームが機能しないのですか? Javascript:選択入力のオプションの数字値

この作品:

<script> 
function execute_onclick() 
{ 
    var result; 

    if (document.forms[0].endtime.value > document.forms[0].starttime.value) 
    { 
     result = "CORRECT"; 
    } 
    else 
    { 
     result = "ERROR"; 
    } 

    alert(result); 

    return false; 
} 
</script> 
<option value=01 >12:00 am</option> 
<option value=02 >12:30 am</option> 
<option value=03 >1:00 am</option> 
<option value=04 >1:30 am</option> 
<option value=05 >2:00 am</option> 
<option value=06 >2:30 am</option> 
<option value=07 >3:00 am</option> 
<option value=08 >3:30 am</option> 
<option value=09 >4:00 am</option> 
<option value=10 >4:30 am</option> 

このdoesntの仕事:

<script> 
function execute_onclick() 
{ 
    var result; 

    if (document.forms[0].endtime.value > document.forms[0].starttime.value) 
    { 
     result = "CORRECT"; 
    } 
    else 
    { 
     result = "ERROR"; 
    } 

    alert(result); 

    return false; 
} 
</script> 
<option value=1 >12:00 am</option> 
<option value=2 >12:30 am</option> 
<option value=3 >1:00 am</option> 
<option value=4 >1:30 am</option> 
<option value=5 >2:00 am</option> 
<option value=6 >2:30 am</option> 
<option value=7 >3:00 am</option> 
<option value=8 >3:30 am</option> 
<option value=9 >4:00 am</option> 
<option value=10 >4:30 am</option> 
+1

実際の数値の代わりに数字の文字列を比較しているので、 –

+0

ようこそスタックオーバーフロー!あなたの投稿を破壊しないでください。 Stack Exchangeネットワーク上に掲載することで、SEがそのコンテンツを配布する権利(CC BY-SA 3.0ライセンス)(https://creativecommons.org/licenses/by-sa/3.0 /))。 SEのポリシーによって、どんな破壊行為も元に戻ります。この投稿とアカウントとの関連付けを解除する場合は、[解約リクエストの正しいルートは何ですか?](https://meta.stackoverflow.com/q/323395)を参照してください。 –

答えて

1

+オペレータと、その場で解析してみます。

if (+document.forms[0].endtime.value > +document.forms[0].starttime.value) 
関連する問題