<body> <form action="clock.html" method="post" onsubmit="return checkLength()"> <p>name:<input type="text" name="user" id="user"></p> <input type="submit" id="submit" name="submit"> </form> </body> </html>
html页面。
第一种方法:利用event的阻止默认事件机制,页面载入之后获得submit元素,然后为submit注册click响应函数,参数为event事件。
在用户点击submit触发响应函数后,直接event.preventDefault();阻止表单转跳的默认事件。
第二种方法:在表单form标签下属性onsubmit="return checkLength()" 或 id="submit"的input标签下添加属性 checkLength()"
function 函数中 阻止 form提交 return false;
阻止 函数中代码向下执行 return;
以下还有
1.form的两个事件
submit
,提交表单,如果直接调用该函数,则直接提交表单
onSubmit
,提交按钮点击时先触发,然后触发submit事件。如果不加控制的话,默认返回true,因此表单总能提交。
2. JS的校验
通过在JS中用document.myform.name.value
,来得到用户的每一个输入 ,进行校验,当完全通过时,返回TRUE,反之返回false。
3. 页面代码实现
/* <form name="testform" action="hello.html" method="post" onSubmit="return check();"> <input type="text" name="name"> <input type="submit" value="提交"> </form> */
4. JS的实现
function check(){ if (document.testform.name.value=="admin") { alert("姓名不正确"); return false; } else{ return true; } }
注意
onSubmit的写法,千万不要写成:“check()”,这样当检验不能通过的时候不会提交表单。
好了