有时我们需把一个页面的表单提交到不同的页面,处理方法一般采用在onClick事件中动态给出action的值,如下例:
此时针对不同提交目标对表单作的校验,只能放在onClick事件中,但这样造成无论是否通过验证都会提交表单的问题。因为这个按钮是submit类型。
对此问题,我的解决方法是这样的:
<script language="JavaScript"><!-- document.returnValue=true;//一个全局变量,给初值。 function validateForm() { var errors;errors='';if (document.PostTopic.title.value=="")errors="标题不能为空";if( document.PostTopic.intro.value.length>10)errors+="\n简介不能多于10个字";if (errors!='') alert(errors);document.returnValue = (errors == '');} file://--></script> <FORM ACTION="" METHOD="post" NAME="PostTopic" onSubmit="return document.returnValue;"><input type=text name=title value=""><input type=text name=intro value=""><INPUT TYPE="submit" NAME=Submit VALUE="新增" class=buttonface onclick="document.PostTopic.action='addone.php';validateForm(); return document.returnValue;"><INPUT TYPE="RESET" NAME=Reset VALUE="重置" class=buttonface ><INPUT TYPE="submit" NAME="Submit" VALUE="修改" class=buttonface onclick="document.PostTopic.action='modify.php';validateForm(); return document.returnValue;"></FORM>