教训1
来源:互联网 发布:网络销售金融工资 编辑:程序博客网 时间:2024/04/28 21:44
今天写了个页面,使用了Struts标签,想实现很简单的功能--js提交表单,代码如下:
<%...@ page language="java" contentType="text/html;charset=UTF-8"%>
<%...@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<%...@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<%...@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
<html:html>
<head>
<script type='text/javascript'>...
function add()
...{
document.forms[0].submit();
}
</script>
</head>
<body>
<html:form action="/add.do" method="post" >
<table>
<tr>
<td>userno:</td><td><html:text property="user_no"/></td>
<td>username:</td><td><html:text property="user_name"/></td>
</tr>
<tr>
<td>password:</td><td><html:password property="user_pw"/></td>
<td>password2:</td><td><html:password property="user_pw"/></td>
</tr>
<tr>
<td rowspan="2">remark</td>
<td rowspan="2"><html:textarea property="remark"/></td>
</tr>
<tr><td><html:button property="submit" value="submit" onclick="add()"/></td></tr>
</table>
</html:form>
<logic:present name="record" scope="request">
<table rules="all" width="100%" border="1" frame="box">
<CAPTION align="top"><FONT size="12">User</FONT></CAPTION>
<tr>
<td width="20%">userno</td>
<td width="20%">username</td>
<td width="10%">password</td>
<td width="60%">remark</td>
</tr>
<logic:iterate id="user" name="record">
<tr>
<td width="10%"><bean:write name="user" property="user_no"/></td>
<td width="20%"><bean:write name="user" property="user_name"/></td>
<td width="10%"><bean:write name="user" property="user_pw"/></td>
<td width="60%"><bean:write name="user" property="remark"/></td>
</tr>
</logic:iterate>
</table>
</logic:present>
</body>
</html:html>
<%...@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<%...@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<%...@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
<html:html>
<head>
<script type='text/javascript'>...
function add()
...{
document.forms[0].submit();
}
</script>
</head>
<body>
<html:form action="/add.do" method="post" >
<table>
<tr>
<td>userno:</td><td><html:text property="user_no"/></td>
<td>username:</td><td><html:text property="user_name"/></td>
</tr>
<tr>
<td>password:</td><td><html:password property="user_pw"/></td>
<td>password2:</td><td><html:password property="user_pw"/></td>
</tr>
<tr>
<td rowspan="2">remark</td>
<td rowspan="2"><html:textarea property="remark"/></td>
</tr>
<tr><td><html:button property="submit" value="submit" onclick="add()"/></td></tr>
</table>
</html:form>
<logic:present name="record" scope="request">
<table rules="all" width="100%" border="1" frame="box">
<CAPTION align="top"><FONT size="12">User</FONT></CAPTION>
<tr>
<td width="20%">userno</td>
<td width="20%">username</td>
<td width="10%">password</td>
<td width="60%">remark</td>
</tr>
<logic:iterate id="user" name="record">
<tr>
<td width="10%"><bean:write name="user" property="user_no"/></td>
<td width="20%"><bean:write name="user" property="user_name"/></td>
<td width="10%"><bean:write name="user" property="user_pw"/></td>
<td width="60%"><bean:write name="user" property="remark"/></td>
</tr>
</logic:iterate>
</table>
</logic:present>
</body>
</html:html>
每次点击submit按钮时都有JS错误(对象不支持此属性或方法),到处都找不到错误,人都快要崩溃了,叫同事来看也都说没有问题,不过还是被其中的一个同事发现了关键所在:<html:button property="submit" value="submit" onclick="add()"/>,这句话解析成HTML会变成<input type="button" name="submit" value="submit" onclick="add()">,对,就是这里,name="submit",我把submit改成别的(如1234)就OK了,看来submit有可能是关键字。
下次再不能犯同样的错误了!