HTML 操作 table

yaogao000 2013-08-07 11:15:08
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>table选中的行以指定颜色高亮显示</title>
<script type="text/javascript">
function IniEvent() {
var tbl = document.getElementById("tblMain");
var trs = tbl.getElementsByTagName("tr");
for (var i = 0; i < trs.length; i++) {
trs[i].onclick = TrOnClick;
}
}
function TrOnClick() {
var tbl = document.getElementById("tblMain");
var trs = tbl.getElementsByTagName("tr");
for (var i = 0; i < trs.length; i++) {
if (trs[i] == this) { //判断是不是当前选择的行
trs[i].style.background = "yellow";
}
else {
trs[i].style.background = "white";
}
}
}
</script>
</head>
<body onload="IniEvent()">
<table id="tblMain" border="1">
<tr>
<td>1</td>
<td>三星</td>
<td>AA</td>
</tr>
<tr>
<td>2</td>
<td>Norkia</td>
<td>BB</td>
</tr>
<tr>
<td>3</td>
<td>苹果</td>
<td>CC</td>
</tr>
<tr>
<td>4</td>
<td>联想</td>
<td>DD</td>
</tr>
</table>
</body>
</html>
</html>
...全文
1431 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yaogao000 2013-08-10
  • 打赏
  • 举报
回复
3.在action中验证 利用Validateable接口实现验证,实现void validate()方法. ActionSupport类已经实现了这个接口 //继承ActionSupport public class User extends ActionSupport { //属性get,set private String userName; private String password; private static List<String> userNames = new ArrayList<String>(); static { userNames.add("harry"); userNames.add("sally"); } //验证方法 public void validate() { if (userNames.contains(userName)) { //添加出错信息 addFieldError("userName", "'" + userName + "' has been taken."); } } } 4.自定义验证类 要创建一个普通的验证程序(非字段验证程序),扩展ValidatorSupport类.验证失败要从validate方法调用addActionError方法. 要创建一个字段验证程序,扩展FieldValidatorSupport类.验证失败要从validate方法调用addFieldError方法. 如果要能接受参数,要在类中定义一个相应的属性,并生成get,set. 编写类 public class StrongPasswordValidator extends FieldValidatorSupport { //属性 private int minLength = -1; public void setMinLength(int minLength) { this.minLength = minLength; } public int getMinLength() { return minLength; } //验证方法 public void validate(Object object) throws ValidationException { String fieldName = getFieldName(); String value = (String) getFieldValue(fieldName, object); if (value == null || value.length() <= 0) { // use a required validator for these return; } if ((minLength > -1) && (value.length() < minLength)) { addFieldError(fieldName, object); } else if (!isPasswordStrong(value)) { addFieldError(fieldName, object); } } private static final String GROUP_1 = "abcdefghijklmnopqrstuvwxyz"; private static final String GROUP_2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; private static final String GROUP_3 = "0123456789"; protected boolean isPasswordStrong(String password) { boolean ok1 = false; boolean ok2 = false; boolean ok3 = false; int length = password.length(); for (int i = 0; i < length; i++) { if (ok1 && ok2 && ok3) { break; } String character = password.substring(i, i + 1); System.out.println("character:" + character); if (GROUP_1.contains(character)) { ok1 = true; continue; } if (GROUP_2.contains(character)) { ok2 = true; continue; } if (GROUP_3.contains(character)) { ok3 = true; } } return (ok1 && ok2 && ok3); } } 注册xml 在src下创建validators.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator Config 1.0//EN" "http://www.opensymphony.com/xwork/xwork-validator-config-1.0.dtd"> <validators> <!-- 名称(type对应值),类路径 --> <validator name="strongpassword" class="com.validator.StrongPasswordValidator"/> </validators> 使用验证 <field name="password"> <field-validator type="strongpassword"> <param name="minLength">8</param> <message> Password must be at least 8 characters long and contains at least one lower case character, one upper case character, and a digit. </message> </field-validator> </field>
yaogao000 2013-08-10
  • 打赏
  • 举报
回复
Struts内建验证程序(type的值) required 保证字段的值不是空值null.空字符串不是空值null. <field name="userName"> <field-validator type="required"> <message>Please enter a user name</message> </field-validator> </field> requiredstring 保证字段不是空值null,也不是空白(empty). param:trim(boolean) ->true->去除前后空格 <field name="userName"> <field-validator type="requiredstring"> <param name="trim">true</param> <message>Please enter a user name</message> </field-validator> </field> <field name="password"> <field-validator type="requiredstring"> <param name="trim">false</param> <message>Please enter a password</message> </field-validator> </field> int 验证字段值是否可以转换为一个整数. param: min(int);max(int) <field name="yeaar"> <field-validator type="int"> <param name="min">1999</param> <param name="max">2010</param> <message>year:1999-2010</message> </field-validator> </field> date 验证给定日期字段的值是否在一个给定的范围内. param:max(date);min(date) <field name="borthday"> <field-validator type="int"> <!-- 格式取决于当前地理时区 --> <param name="min">1999-01-01</param> <param name="max">2010-01-01</param> <message>birthday:1999-2010</message> </field-validator> </field> email 给定的String值是否是一个电子邮件地址 <field name="email"> <field-validator type="email"> <message>Invalid email</message> </field-validator> </field> url 给定的String值是否是一个合法的URL(要有前缀) <field name="url"> <field-validator type="url"> <message>Invalid URL</message> </field-validator> </field> expression,fieldexpression 验证给定字段是否满足一个OGNL表达式. 区别:expression 不是一个字段验证程序,失败时将生成一个动作错误.(JSP中调用 <actionerror> </actionerror> 才显示出错信息) fieldexpression 是一个字段验证程序,失败时将抛出一个字段错误.(对字段验证) param:expression(String)OGNL表达式 expression: public class ExpressionTestAction { //属性生成get,set private int min; private int max; } <validator type="expression"> <param name="expression"> max > min </param> <message> Maximum temperature must be greater than Minimum temperature </message> </validator> <!-- jsp --> <s:actionerror/> fieldexpression: public class FieldExpressionTestAction { //属性生成get,set private int min; private int max; } <!-- 对字段验证 --> <field name="max"> <field-validator type="fieldexpression"> <param name="expression"> max > min </param> <message> Maximum temperature must be greater than Minimum temperature </message> </field-validator> </field> visitor 把同一个验证程序配置文件用于多个动作(对一个Bean写验证文件,每个使用的Action只要引用) //UserBean public class UserBean { //属性get,set private String name; private int age; } //UserBean-validation.xml(和UserBean放在同一个包中) <field name="name"> <field-validator type="requiredstring"> <message>用户名必须</message> </field-validator> </field> <field name="age"> <field-validator type="int"> <param name="min">18</param> <param name="max">99</param> <message>Age must be between 18 and 99</message> </field-validator> </field> //Action的validation.xml <!-- userBean变量名 --> <field name="userBean"> <field-validator type="visitor"> <!-- message会和UserBean验证中的message一起显示 --> <message>用户: </message> </field-validator> </field> 如果另一个Action对UserBean使用另一个标准的验证,可以创建新的验证文件 //UserBean-specific-validation.xml <!-- 和之前的验证不同 --> <field name="age"> <field-validator type="int"> <param name="min">30</param> <param name="max">50</param> <message>Age must be between 30 and 50</message> </field-validator> </field> //另一个Action的validation.xml <field name="userBean"> <field-validator type="visitor"> <!-- xml中扩展的名字,执行UserBean-specific-validation.xml的验证 --> <param name="context">specific</param> <message>用户1: </message> </field-validator> </field> conversion 检查对某个属性进行类型转换是否会导致一个转换错误 <field name="age"> <field-validator type="conversion"> <message> An age must be an integer. </message> </field-validator> </field> stringlength 验证一个非空的字段值是不是足够的长度 param:minLength(int);maxLength(int);trim(boolean) <field name="password"> <field-validator type="requiredstring"> <param name="minLength">6</param> <param name="maxLength">14</param> <message>length:6-14</message> </field-validator> </field> regex 给定的值是否与一个给定的正则表达式匹配 param:expression(String)正则表达式;caseSensitive(boolean)是否区别大小写,默认为true;trim(boolean)是否去除前后空格 <field name="phone"> <field-validator type="regex"> <param name="expression"> <![CDATA[\d\d\d\-\d\d\d\-\d\d\d\d]]> </param> <message> Invalid phone number or invalid format </message> </field-validator> </field>
yaogao000 2013-08-10
  • 打赏
  • 举报
回复
Action配置中一定要设置input返回页面 添加验证只要创建验证的xml文件 1.创建xml文件名 验证Action中全部方法 在Action同包下,创建:Action类名-validation.xml 如:ValidateAction创建ValidateAction-validation.xml 验证Action中单个方法 <!-- 每个方法单独配置一个Action --> <!-- 在Action同包下,创建:Action类名-action方法配置名称-validation.xml --> <action name="validateAdd" class="com.struts2.validator.ValidateAction" method="add"> <!-- 要创建ValidateAction-validateAdd-validation.xml --> <!-- 使用通配符配置 --> <!-- 在Action同包下,创建:Action类名-action方法对应的名称-validation.xml --> <action name="validate_*" class="com.struts2.validator.ValidateAction" method="{1}"> <!-- 要创建ValidateAction-validate_add-validation.xml,validate_add为访问这个action方法的路径 --> 注意事项 注意: 1.要验证的方法不能叫input. 2.这样配置在form表单中要在<s:form action="validate_add">中action写好名称, 不能写action="validate_",然后<s:submit value="提交"method="add" /> 这样会找不到对应的配置文件,跳过验证. 3.如果验证出错,返回input页面时,那些存在ValueStack中的值会丢失,可以将Action实现Preparable接口, 然后prepare()方法里初始化添加页面需要的值. 4.如果使用Preparable接口,必须在action配置中添加<interceptor-ref name="paramsPrepareParamsStack" />. 这样prepare()才能得到form提交的参数. 2.创建xml内容 <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd"> <validators> <!-- 要验证的字段名称 --> <!-- 要验证Action中UserBean的id字段,name="userBean.id"(userBean为Action中的变量名) --> <field name="mail"> <!-- type要验证的类型,short-circuit(默认false),true含义,如果当前验证失败了,下面的验证就不执行了.如requiredstring失败了,email就不验证了. --> <!-- field-validator下面可以有多个param元素,但是最多只能有一个message --> <field-validator type="requiredstring"> <param name="trim">true</param> <message>Please enter a mail</message> </field-validator> <field-validator type="email"> <message> Invalid MAIL </message> </field-validator> </field> </validators>
wg5945 2013-08-08
  • 打赏
  • 举报
回复
难道是想散分~~
  • 打赏
  • 举报
回复
没问题啊,要干嘛?。。

87,991

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧