form
1、有没有action属性都会自动提交
<form method="post"> <input type="text" name="age" value=""> <input type="submit" value="确认"> </form>
2、点击type为botton的input不会提交表单,但是如果在浏览器将type值改为submit 则会提交
<form action="' method="post"> <input type="text" name="age" value=""> <input type="button" value="确认"> </form>
3.在onsubmit="check()" 这种必须加上retrun 函数里retrun false;才会阻止表单自动提交
<form method="post" onsubmit="return check()"> <input type="text" name="age" value=""> <input type="submit" value="确认"> </form> <script type="text/javascript"> function check(){ return false; } </script>
正确姿势:
<body> <form method="post"> <input type="text" name="age" value=""> <input type="submit" value="确认"> </form> <script type="text/javascript"> $("form").submit(function () { if(/^[0-9]*$/.test('123')){ return true; } return false;//必须加这个 }); </script> </body>
其他情况
无效
<body> <form method="post" onsubmit="return check()"> <input type="text" name="age" value=""> <input type="submit" value="确认"> </form> <script type="text/javascript"> $('form').submit(function(){ return false; })//加上这个则函数里的return true 无效,即便是匹配上了也不能让form提交 function check(){ if(/^[0-9]*$/.test('123')){ return true; }else{ return false; } } </script> </body>
上面的情况变有效
<body> <form method="post" onsubmit="check()"> <input type="text" name="age" value=""> <input type="submit" value="确认"> </form> <script type="text/javascript"> $('form').submit(function(){ return false; }) function check(){ if(/^[0-9]*$/.test('123')){ $("form").unbind();//这个才有效 } } </script> </body> <body> <form method="post" onsubmit="return check()"> <input type="text" name="age" value=""> <input type="submit" value="确认"> </form> <script type="text/javascript"> $('form').submit(function(){ return false; }) function check(){ if(/^[0-9]*$/.test('123')){ $("form").unbind();//这个才有效 } } </script> </body>
无效
<body> <form method="post"> <input type="text" name="age" value=""> <input type="submit" value="确认"> <button>提交</button> </form> <script type="text/javascript"> $('form').submit(function(){return false;}) $("input[type='submit']").click(function(){ $('form').submit(); }) $("button").click(function(){ $('form').submit(); }) </script> </body>
有效:
<body> <form method="post"> <input type="text" name="age" value=""> <input type="submit" value="确认"> <button>提交</button> </form> <script type="text/javascript"> $('form').submit(function(){return false;}) $("input[type='submit']").click(function(){ $("form").unbind();//这个才有效 }) $("button").click(function(){ $("form").unbind();//这个才有效 }) </script> </body>