カウントダウンタイマーを作っています。
type="submit" だとPHPのみが動作し、
type="button" だとJavascriptのみが動作します。
同時に動作させる方法がないか思案しています。
submitした後でMySQLに30分追加した時間を格納したいと考えています。
DBのUPDATEには成功しています。
php
1<?php 2 3if(isset($_POST['30minute'])) { 4 echo $_POST['30minute']; 5} 6 7?> 8<form action="zz.php" method="post"> 9<span contenteditable="true" id="min">25</span><span>:</span><span contenteditable="true" id="sec">00</span> 10<button type="button" name="30minute" class="stBtn btn btn-primary btn-lg btn-block" value="中身だよ">Start</button> 11</form> 12 13 <!-- jQuery --> 14 <script src="js/jquery.js"></script> 15 16 <!-- timer JavaScript --> 17 <script src="js/timer.js"></script>
javascript
1$(document).ready(function() { 2 $('.stBtn').click(function() { 3 var btn = $('.stBtn'); 4 var minutes = parseInt($('#min').html()); 5 var seconds = parseInt($('#sec').html()); 6 if (minutes + seconds === 0) { 7 btn.html('Start'); 8 btn.removeClass('red'); 9 alert('Please set the timer'); 10 return; 11 } 12 if (isNaN(minutes)) { 13 $('#min').html('00'); 14 minutes = 0; 15 } 16 if (minutes > 59) { 17 alert("Can't be used for more than 59 mins"); 18 $('#min').html('00'); 19 minutes = 0; 20 return; 21 } 22 if (isNaN(seconds)) { 23 $('#sec').html('00'); 24 seconds = 1; 25 retrun; 26 } 27 var t = (minutes * 60) + (seconds); 28 29 function countdownTimer(t) { 30 var secLeft = Math.floor(t % 60); 31 var minLeft = Math.floor((t / 60) % 60); 32 var dispSeconds = '0' + secLeft; 33 var dispMinutes = '0' + minLeft; 34 $('#min').html(dispMinutes.slice(-2)); 35 $('#sec').html(dispSeconds.slice(-2)); 36 } 37 function reStart() { 38 btn.html('Start'); 39 btn.removeClass('red'); 40 } 41 function updateTimer() { 42 t--; 43 countdownTimer(t); 44 if (t <= 0) { 45 clearInterval(interval); 46 $('#ado').get(0).play(); 47 reStart(); 48 } 49 } 50 if (btn.html() == "Stop") { 51 clearInterval(interval); 52 reStart(); 53 } else { 54 window.interval = setInterval(updateTimer, 1000); 55 btn.html('Stop'); 56 btn.addClass('red'); 57 } 58 }); 59 60 $('.refresh').click(function() { 61 clearInterval(interval); 62 $('#min').html('25'); 63 $('#sec').html('00'); 64 $('.stBtn').html('Start'); 65 $('.stBtn').removeClass('red'); 66 }); 67});
type="button" の時はカウントダウンのみ始まり「中身だよ」が表示されません。
type="submit" の時は「中身だよ」が表示され、カウントダウンされません。
期待する結果は
「中身だよ」が表示され、かつカウントダウンが始まるようにしたいです。
カウントダウンタイマーの参考にしたサイトはこちらです。
https://code.sololearn.com/W0NhhY7ov1a8#html
お力添えをいただけると幸いです。よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/15 08:25
2019/06/15 08:28
2019/06/15 08:51
2019/06/17 13:30
2019/06/17 13:33
2019/06/17 14:40