2016-09-05 10 views
1

私はカウントダウンタイマーを作っています。フォームから入力された値をどのように取り込み、タイマーがカウントダウンできるようにするかを考えていますそれ。入力された値をとり、タイマーに入れる

は、ここで私が書いた(おそらく大幅に間違った)JS関数の:

function changeTime() { 
    var h = parseInt(hrs.value); 
    var m = parseInt(mns.value); 
    var s = parseInt(scs.value); 

    if (h < 10) { 
     h = 0 + h; 
    }; 
    if (m < 10) { 
     m = 0 + m; 
    }; 
    if (s < 10) { 
     s = 0 + s; 
    }; 

    $("#time").html() = h + ":" + m + ":" + s; 
} 

$("#change").click(function() { 
    changeTime(); 
}) 

をここでは、HTMLのフォームの一部です:

<form id="choose"> 
    <input type="text" id="hrs" name="hrs" size="2" maxlength="2" placeholder="h"/> 
    <input type="text" id="mns" name="mns" size="2" maxlength="2" placeholder="m"/> 
    <input type="text" id="scs" name="scs" size="2" maxlength="2" placeholder="s"/> 
</form> 

は、ここで全体fiddleです。私は整列がオフであることを知っているが、私はそれを修正するだろう、私はJSの助けが必要です。ありがとう!

+0

'$( "#時間")HTML(H + ":" + M + ":" + S);動作します' –

+0

@PranavCBalanありがとう!唯一の問題は数値が0:0:0のように表示されることです。私のif文は機能しません。 –

+0

値が '0'を追加する' Number'は何の効果もありませんので、代わりに –

答えて

2

html() setterは、メソッドの引数としてHTML文字列を追加した場合にのみ有効です。

$("#time").html(h + ":" + m + ":" + s); 

Number追加の代わりに文字列連結を使用する必要がありますが、

if (h < 10) { 
    h = '0' + h; 
    //--^-^--- this should be string 
}; 
関連する問題