[置顶] 7.2 Javascript:表单验证-提交表单

坏数据不该抵达服务器:提交表单时的验证

表单域对象里有个form特性,它使用数组表示了整份表单的域
假如这里只有一个简单的信息文本框和一个邮政编码框,还有一个提交按钮

<form>
<input id="message" name="message" type="text" size="12" onBlur="validate_Length(1,32,this,document.getElementById('message_help'));" />
<message_help" class="help"></span>
<input id="ZipCode" name="phone" type="text" size="5" onBlur="validate_ZipCode(this,document.getElementById('ZipCode_help'));" />
<span id="ZipCode_help" class="help"></span>
<input type="button" value="Order Banner" onClick="placeOrder(this.form);"/>
</form>
<script language="javascript" type="text/javascript"> //文本长度验证 function validate_Length(minLegth,maxlength,inputFiled,helpText) { if(inputFiled.value.length<minLegth||inputFiled.value.length>maxlength) { if(helpText!=null) { helpText.innerHTML="请输入长度为"+minLenght+"到"+maxLength+"的文本"; return false; } } else if(helpText!=null) { helpText.innerHTML="" return true; } } //邮政编码验证 function validate_ZipCode(inputFiled,helpText) { if(inputFiled.value.length!=5) { if(helpText!=null) helpText.innerHTML="邮政编码长度必须为5位"; return false; } else if(isNaN(inputFiled.value)) { if(helpText!=null) helpText.innerHTML="邮政编码必须为数字"; return false; } else if(helpText!=null) { helpText.innerHTML="" return true; } } function placeOrder(form) { if(validateNonEmpty(1,32,form["phone"],form["phone_help"])&&validate_ZipCode(form["ZipCode"],form["ZipCode_help"])) { form.submit(); } else{ alert("您填写的表单数据至少有一项不合法"); } } </script>

总结:只需要调用相应的验证函数,得到返回值,便可在最后提交表单的时候完成最后的数据过滤
在实际应用中,往往需要对数据的长度,非空,非法字符,格式,大小定等等做验证,这里不一一介绍,重在领会。

你可能感兴趣的:(JavaScript,表单)