2016-06-24 28 views
0

http://codepen.io/urketadic/pen/JKbddVに私のcodepenを確認してください 私はそれをクリックしてはいけないが、Enterを押しても、そのアニメーションを再生するボタンが必要です。 私は何をする必要がありますか?私のコードを確認してください。トリガーhtmlボタンをクリックして入力してください

 $(document).ready(function() { 
    var secondsPerMin = 60; 
    var minsPerHour = 60; 
    var hoursPerDay = 24; 
    var daysPerWeek = 7; 
    var weeksPerYear = 52; 
    var yearsAlive; 
    var secondsPerDay = secondsPerMin * minsPerHour * hoursPerDay; 

    function calculateSeconds(yearsAlive) { 
    $("#output").val("For "+ yearsAlive + " years you have lived " + secondsPerDay * daysPerWeek * weeksPerYear * yearsAlive + " seconds."); 
    } 

$("#inpute").on("keydown", function(e) { 
    if (e.keyCode == 13) { 
     e.preventDefault(); 
     var yearsAlive = $('#inpute').val(); 
    if (isNaN(yearsAlive)) { 
    $("#output").html("Your age must be a number."); 
    } 
    else { 
     calculateSeconds(yearsAlive); 
    } 
    } 
    }); 

    $("#buttoninput").on('click', function() { 
    var yearsAlive = $('#inpute').val(); 
    if (isNaN(yearsAlive)) { 
    $("#output").html("Your age must be a number."); 
    } 
    else{ 
    calculateSeconds(yearsAlive); 
    } 
    }); 
}); 
+0

ペンが異なるコードを示しています。これは、入力を使用して計算を提出した人のケースをカバーしていないため、この場合でもon( 'click')を使用するべきではありません。より良いフォームを使用し、on( 'submit')イベントリスナーをフォームに追加してください。 – MattDiMu

+0

あなたが私たちに与えたコードはとてもうまくいっています(http://codepen.io/Tektiv/pen/pbREPy)。なぜあなたは同じコードをcodepenに入れませんでしたか? – tektiv

+0

私は数分前にそれを実際に修正しました。助けてくれてありがとう。どのように私はボタンを作ることができるか知っていますか:私は入力を押しても、CSSの再生からアクティブ。 –

答えて

0

アプローチ以下を見てください:

$(document).ready(function() { 
 
    var secondsPerMin = 60; 
 
    var minsPerHour = 60; 
 
    var hoursPerDay = 24; 
 
    var daysPerWeek = 7; 
 
    var weeksPerYear = 52; 
 
    var yearsAlive; 
 
    var secondsPerDay = secondsPerMin * minsPerHour * hoursPerDay; 
 

 
    function calculateSeconds(yearsAlive) { 
 
    $("#output").val("For " + yearsAlive + " years you have lived " + secondsPerDay * daysPerWeek * weeksPerYear * yearsAlive + " seconds."); 
 
    } 
 

 
    $("#buttoninput").on('click', function() { 
 
    var yearsAlive = $('#inpute').val(); 
 
    if (isNaN(yearsAlive)) { 
 
     $("#output").html("Your age must be a number."); 
 
    } else { 
 
     calculateSeconds(yearsAlive); 
 
    } 
 
    }); 
 

 
    $("#inpute").on("keydown", function(e) { 
 
    if (e.keyCode == 13) { 
 
     e.preventDefault(); 
 
     $("#buttoninput").click(); 
 
    } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
 

 
<div class="container"> 
 
    <div class="jumbotron"> 
 
    <div class="page-header"> 
 
     <h1 class="text-center animated bounceInDown">How old are you? <small>IN SECONDS.</small></h1> 
 
    </div> 
 

 

 
    <div class="input"> 
 
     <input type="text" id="inpute" class="col-xs-12 col-sm-6 col-md-8 animated bounceInLeft" placeholder="write age"> 
 
     <button type="submit" id="buttoninput" class="col-sm-4 btn btn-default btn-danger animated bounceInRight">Calculate</button> 
 
    </div> 
 

 
    <div class="output"> 
 
     <output id="output" placeholder="output" class="col-xs-12"> 
 
    </div> 
 

 
    </div>

0

宣言される前にyearsAlive変数を使用しようとしています。試してみてください:

$("#inpute").on("keydown", function(e) { 
    if (e.keyCode == 13) { 
    var yearsAlive = $('#inpute').val(); 
    calculateSeconds(yearsAlive); 
    e.preventDefault(); 
    } 
}); 
0

すると、そのようにそれを試してみてください。

$(document).ready(function() { 
    var secondsPerMin = 60; 
    var minsPerHour = 60; 
    var hoursPerDay = 24; 
    var daysPerWeek = 7; 
    var weeksPerYear = 52; 
    var yearsAlive; 
    var secondsPerDay = secondsPerMin * minsPerHour * hoursPerDay; 

    function calculateSeconds(yearsAlive) { 
    $("#output").val("For "+ yearsAlive + " years you have lived " +  secondsPerDay * daysPerWeek * weeksPerYear * yearsAlive + " seconds."); 
    }; 

    $("#buttoninput").on('click', function() { 
    var yearsAlive = $('#inpute').val(); 
    if (isNaN(yearsAlive)) { 
    $("#output").html("Your age must be a number."); 
    } 
    else{ 
    calculateSeconds(yearsAlive); 
    } 
    }); 


    $("#inpute").on("keydown", function(e) { 
    if (e.keyCode == 13) { 
     e.preventDefault(); 
     $("#buttoninput").click(); // just read you want the click behaviour.. 
    } 
    }); 
}); 
関連する問題