2016-08-15 3 views
-1

送信ボタンを隠そうとしましたが、動作しませんでした。私はテストするためにいくつかのアラートを書いたが、それは決してクリックイベントに入っていないことが分かった。誰かが私の間違いがどこにあるか教えてもらえますか?どうもありがとう!Clickイベントで入力タイプを隠すJavascript

<!DOCTYPE html> 

<head> 
    <title>Dindin</title> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
</head> 

<body> 
    <div class="play"> 

    <p>What's your name?</p> 
    <br><input type="text" name="name"> 
    <p>What time are you going to dinner?</p> 
    <br><input type="time" name="time"> 
    <br><input type='submit' value='Submit'> 

    </div> 

    <script> 
    alert("Hello"); 
    $('input:submit').click(function() { 
     alert("Into click"); 
     storeInfo(); 
     showResult(); 
     $('.play').html("<input type='submit'value='Booked!'"); 
    } 
    var answers= []; 
    var storeInfo = function() { 
     alert("Into storeInfo"); 
     $('input:submit').hide(); 
     answers.push([$('input:text').val(), $('input:time').val()]); 
     var time = $('#time'); 
    } 
    var showResult = function() { 
     alert("Into showResult"); 
     $('.play').html('These are the people going to dinner near your time:'); 
     for (var i = 0; i < answers.length; i++) { 
      if (Math.abs(answers[i][1] - time)/1000 =< 10000) { 
       $('.play').html('<br>'+answers[i][0]+' '+answers[i][1]); 
      } 
     } 
    } 


    </script> 
</body> 
+0

JSにエラーがあり、JSが実行されません。ブラウザのコンソールログ(F12)を見て、エラーを修正してください。例えば、 'var answers = [];の前の行は'} 'でなく'} 'でなければなりません –

答えて

-1

あなたはjQueryのは、 "準備完了" ではありませんので、それ以外の場合は動作しない場合があります

$(function() { 
    // place your code here 
}); 

の内側にあなたのjQueryのコードを配置する必要があります。

-1

あなたは、あなたのJSでエラーの原因となっている、閉じ括弧とセミコロンを逃している

1

の機能のためにすべてのあなたの終値の括弧を忘れてしまった、ともthe document ready event

console

$('input:submit').click(function() { 
     alert("Into click"); 
     storeInfo(); 
     showResult(); 
     $('.play').html("<input type='submit'value='Booked!'"); 
    }); // <<<< here 

あなたはまた、修正する必要があり、あなたのコード内の他のエラーを持っています。 F12コンソールログを見てください。たとえば、これは正しくありません。

if (Math.abs(answers[i][1] - time)/1000 =< 10000) { 

=<<=をする必要があります。

また、DOMがロードされた後にイベントがバインドされるようにするには、$(document).ready()を使用する必要があります。

+0

それを調べてくれてありがとう!それは今働く。 –

+0

@LanNgo - このソリューションがうまくいけば、答えの先頭近くにあるチェックマークを選択することで、それを答えとしてマークすることができます。 –

関連する問題