2016-08-15 60 views
-1

我尝试隐藏提交按钮,但它不起作用。我写了几个警报来测试,结果发现它没有进入点击事件。有人能告诉我我的错误在哪里吗?非常感谢!通过点击事件隐藏输入类型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导致错误。

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) { 

=<应该<=

此外,您应该使用$(document).ready()以确保您的事件在DOM加载后被绑定。

+0

非常感谢您的关注!它现在有效。 –

+0

@LanNgo - 如果这个解决方案适合你,你可以通过选择我答案顶部附近的复选标记来将它标记为答案。 –

相关问题