<html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <form action="doLogin" method="post" id="loginForm"> 姓名:<input type="text" name="username" id="username"> 密码:<input type="text" name="pwd" id="pwd"> <button id="submitbut">提交</button> </form> </body> <script type="text/javascript" src="js/jquery-1.8.3.js"></script> <script type="text/javascript"> $("#submitbut").click(function(){ var name = $.trim($("#username").val()); var pwd = $.trim($("#pwd").val()); if(name == ""){ alert("姓名不能为空"); return; } if(pwd == ""){ alert("密码不能为空") return; } $("#loginForm").submit(); }); </script> </html> |
即使不填任何内容,表单也会被提交,后来把button按键换成了用div做的高仿按键或其他,都是正常的,于是就确定了问题的所在,后来查API看到button的属性:
发现button的type默认是submit,而我们在上面又没有对button的type设置,所以每次点击都会提交。
解决办法:在button里加type=“button” 即可解决
<html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <form action="doLogin" method="post" id="loginForm"> 姓名:<input type="text" name="username" id="username"> 密码:<input type="text" name="pwd" id="pwd"> <button type="button" id="submitbut">提交</button> </form> </body> <script type="text/javascript" src="js/jquery-1.8.3.js"></script> <script type="text/javascript"> $("#submitbut").click(function(){ var name = $.trim($("#username").val()); var pwd = $.trim($("#pwd").val()); if(name == ""){ alert("姓名不能为空"); return; } if(pwd == ""){ alert("密码不能为空") return; } $("#loginForm").submit(); }); </script> </html> |
暂无评论
发表评论