老师 问题在下面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="http://cdn.bootcss.com/jquery/1.12.4/jquery.js"></script>
</head>
<body>
<form action="javascript:alert('哈哈哈');">
<input type="text">
<input type="submit">
<input type="button" value="按钮">
<button>提交</button>
</form>
</body>
<script>
$(document).ready(function () {
/* $("form").submit(function () {
var value = $('input').val();
if (value != "哈哈哈") {
return false
} else {
return true;
}
}); */
$('input').eq(2).click(function () {
$('form').submit(function () {
var value = $('input').val();
if (value != "哈哈哈") {
return false
} else {
return true;
}
});
})
})
</script>
</html>
为什么按钮点击没反应,而其他两个却可以,form的submit() 是按钮点击事件的事件句柄吧,不是要点击之后才响应吗?现在是什么情况,怎么按钮倒没反应,而其他两个却可以?请老师解释一下
正在回答
同学你好,很抱歉没有给同学讲清楚。参考如下理解:
1.submit()不加参数,那么是自动提交,所以会提交表单,弹出内容。
2.加上回调函数之后,那么submit()自动提交就无效了,即不会自动提交表单了,而是变成一个事件处理函数了。点击按钮,只会触发submit事件函数了。但button是一个普通的按钮,点击时不会自己触发submit事件,所以回调函数不会执行。可以把它改一下:
事件中加一个弹窗,证明是触发submit中的回调函数。
总结:不加参数,则是自动提交,所以点击按钮自动提交form表单;加上参数,就变成点击按钮需要执行的函数。
祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星