一个javascript验证struts表单的问题
一个很奇怪的问题,我在验证的时候即使在javascript里面return false;可表单还是会提交。就像下面这样:
<script language="javascript">
function validate(){
var name = document.forms[0].areaName.value;
if(name=="" || name==null){
alert("Please input area name.");
return false;
}
else{
return true;
}
}
</script>
<html:form action="admin/areaAction.do?method=addArea">
<table width="95%" align="center" class="default">
<tr>
<td class="item">Name:</td>
<td><html:text property="areaName" size="50" /></td>
</tr>
<tr>
<td></td>
<td>
<html:submit property="bt" styleClass="btn" value="Submit" onclick="validate()" />
<html:reset property="bt" styleClass="btn" value="Reset" />
</td>
</tr>
</table>
</html:form>
以上代码,结果是,弹出消息框,提示Please input area name,然后就提交到action了...在form标签里面用onsubmit(this)我也试过,效果还是一样的。不知道怎么回事,希望指点一下~~
------解决方案--------------------老兄.你的提交按钮是不是应该是button 啊.而不是submit.如果你是要验证通过再提交的话,那么应该是用button
------解决方案--------------------那是肯定的,用button只能用js提交,onclick事件之所以不对,是因为onsubmit事件发生在onclick之前