<%@ page language="java" import="java.util.*" pageEncoding="utf-8"
contentType="text/html; charset=utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<br> function check(form){<br> with(form){<br> if(username.value == ""){<br> alert("用户名不能为空!");<br> return false;<br> }<br> if(password.value == ""){<br> alert("密码不能为空");<br> return false;<br> }</p> <pre><code> return true; } } </code></pre> <p>
<div class="container">
<div align="center">
<form class="well" name="login" action="user/checkLogin.action" method="post" onsubmit="return check(this)">
<label>用户名</label> <input type="text" name="username" class="span3" placeholder="用户名"> <p/>
<label>密 码</label> <input type="password" name="password" class="span3" placeholder="密码"><p/>
<button type="submit" id="btn_login" class="btn btn-success">登陆</button> <button type="button" class="btn btn-primary" onclick="window.location.href='register.jsp'">注册</button>
</form>
</div>
onsubmit="return check(this)里的this咋理解?
第一个问题:前面那个js代码不知道是你复制出错还是什么,看不懂。
第二个问题:this代表当前绑定事件的dom对象,即你代码的:
with限定作用域,此后,form.username.value 可以简写为 username.value 省略 form。
this表示表单,也就是check函数的参数form。
onsubmit中的函数为false,表单验证不通过,就不提交数据。
form 标签。。怎么字体消失了。。
with可以方便地用来引用某个特定对象中已有的属性,但是不能用来给对象添加属性。with(form){username.value=.....}相当于form.username.value=
....
this指向触发事件的事件源,submit事件是form表单的事件,那么this就是指向form表单对象
with限定作用域,此后,form.username.value 可以简写为 username.value 省略 form。
但是with在严格模式下不生效,会报错,不推荐使用
还是多看一些基本类的书籍在学习,否则你很难理解的。
尽量代码与html分离,这样看起来很舒服,这些代码混在一起很凌乱。 页面的this就是返回触发事件的这个对象。