Javascript代码不执行?
我在做一个项目。我试图使我的代码,以便当用户提交一个选项从下拉菜单,如果用户选择并提交默认的选择一个流派,表单不会提交,页面不会刷新。以下是我的Javascript代码:Javascript代码不执行?,javascript,html,Javascript,Html,我在做一个项目。我试图使我的代码,以便当用户提交一个选项从下拉菜单,如果用户选择并提交默认的选择一个流派,表单不会提交,页面不会刷新。以下是我的Javascript代码: <script> var menu = document.getElementById("submit"); menu.addEventListener("click", function() { if (document.getElementById("dropd
<script>
var menu = document.getElementById("submit");
menu.addEventListener("click", function() {
if (document.getElementById("dropdown").value == 'nothing')
{
return false;
}
});
</script
请尝试event.preventDefault:
var menu=document.getElementByIdsubmit;
menu.AddEventListener单击,functionevent{
如果document.getElementByIddropdown.value=='无'
{
违约事件;
}
};
选择一种类型
岩石
如果不绑定到$document.ready或将其作为自调用函数,则它只是一个代码声明 第一个解决方案: 另一个解决方案:
这是嵌套在标记中的。哪里有控制台错误吗?脚本标记在div上面吗?@CertainPerformance,忘了提到它嵌套在head标记中。即使在else语句中写入console.log,也不会出现控制台错误。这应该会导致错误,因为执行脚本时不存在submit。将JS放在一个单独的文件中,给脚本标记defer属性,也许?可能是重复的:@RaffayAtiq,我不知道这在哪里不起作用……代码片段显示它起作用……这很奇怪,代码片段对我不起作用。不支持我的浏览器吗?我使用的是最新的谷歌Chrome浏览器。@RaffayAtiq,这里的浏览器应该没问题。您是否尝试调试代码?我不知道如何正确调试,但我正在使用CS50的调试器,它告诉我值“nothing”正在传递到我的Flask路由,因此脚本根本没有执行,或者if语句的计算结果为false。
<div>
<form method="POST">
<select id="dropdown" name="genre">
<option value="nothing">Select a genre</option>
<option value="rock">Rock</option>
</select>
<br/>
<br/>
<input id="submit" type="submit"/>
</form>
</div>
Uncaught TypeError: $(...).addEventListener is not a function
at (index):18
$( document ).ready(functino(){
var menu = document.getElementById("submit");
menu.addEventListener("click", function() {
if (document.getElementById("dropdown").value == 'nothing')
{
return false;
}
});
});
(function(){
var menu = document.getElementById("submit");
menu.addEventListener("click", function() {
if (document.getElementById("dropdown").value == 'nothing')
{
return false;
}
});
}());