第一个文本框的输入格式 怎么填都不对<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style >
input.invalid { background-color:#fa0;}
</style>
</head><body>
<form>
Name:<input type="text" name="name" required /><br />
email:<input type="text" name="email" pattern="^\s*\w+@\w+\.\w+\s*$" /><br />
zipcode:<input type="text" name="zip" pattern = "^\s*\d{5}\s*$" /><br>
unvalidated:<input type="text" /><br />
<input type="submit" />
</form>
<script>
(function()/*匿名函数的作用,为什么权威指南的工具函数都用匿名函数*/{
if(window.addEventListener) window.addEventListener("load",init,false);
else if(window.attachEvent) window.attachEvent("onload",init);
function init(){
for(var i=0;i<document.forms.length;i++)
{
var f=document.forms[i];//第i个form
var needValidation = false;// Assume ,for now,that this form does not need any validation
for(var j=0;j<f.elements.length;j++)
{
e = f.elements[j];
if(e.type!="text") continue;
//
var pattern = e.getAttribute("pattern");
var required = e.getAttribute("required")!=null;
//See if it has attribute that require validation
if(required&&!pattern){
pattern = "^\s*\d{5}\s*$"; //"\\s"是什么意思?应该是不让带required的textfield 为空 此时的pattern是不存在的 只是不为空就可以了
e.setAttribute("pattern",pattern);
}//////////////////////////这里的正则表达式和zipcode:<input type="text" name="zip" pattern = "^\s*\d{5}\s*$" /><br>一样为什么还是不行恩?????????????? if(e.pattern){
e.onchange = validateOnChange;
needsValidation = true;
}
}
if(needValidation) f.onsubmit = validateOnSubmit;
}
}
function validateOnChange()
{ var textfield = this;
var pattern = textfield.getAttribute("pattern");
var value = textfield/*this*/.value;
if(value.search(pattern)==-1) textfield.classname = "invalid";
else textfield.classname = "valid";
}
function validateOnSubmit()
{
var invalid = false;
for(var i=0;i<this.elements.length;i++)
{
var e = this.elements[i];
//接下来的是调用了
if(e.type =="text" && e.onchange == validateOnChange){
e.onchange();//e.onchange();是一个函数 应该这样调用
if(e.classname == "invalid") invalid = true;
}
}
if(invalid){
alert("The form is incompletely or incorrectly filled out.\n "+"Please correct the highlighted field and try again");
return false;
}
}
})();
</script>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style >
input.invalid { background-color:#fa0;}
</style>
</head><body>
<form>
Name:<input type="text" name="name" required /><br />
email:<input type="text" name="email" pattern="^\s*\w+@\w+\.\w+\s*$" /><br />
zipcode:<input type="text" name="zip" pattern = "^\s*\d{5}\s*$" /><br>
unvalidated:<input type="text" /><br />
<input type="submit" />
</form>
<script>
(function()/*匿名函数的作用,为什么权威指南的工具函数都用匿名函数*/{
if(window.addEventListener) window.addEventListener("load",init,false);
else if(window.attachEvent) window.attachEvent("onload",init);
function init(){
for(var i=0;i<document.forms.length;i++)
{
var f=document.forms[i];//第i个form
var needValidation = false;// Assume ,for now,that this form does not need any validation
for(var j=0;j<f.elements.length;j++)
{
e = f.elements[j];
if(e.type!="text") continue;
//
var pattern = e.getAttribute("pattern");
var required = e.getAttribute("required")!=null;
//See if it has attribute that require validation
if(required&&!pattern){
pattern = "^\s*\d{5}\s*$"; //"\\s"是什么意思?应该是不让带required的textfield 为空 此时的pattern是不存在的 只是不为空就可以了
e.setAttribute("pattern",pattern);
}//////////////////////////这里的正则表达式和zipcode:<input type="text" name="zip" pattern = "^\s*\d{5}\s*$" /><br>一样为什么还是不行恩?????????????? if(e.pattern){
e.onchange = validateOnChange;
needsValidation = true;
}
}
if(needValidation) f.onsubmit = validateOnSubmit;
}
}
function validateOnChange()
{ var textfield = this;
var pattern = textfield.getAttribute("pattern");
var value = textfield/*this*/.value;
if(value.search(pattern)==-1) textfield.classname = "invalid";
else textfield.classname = "valid";
}
function validateOnSubmit()
{
var invalid = false;
for(var i=0;i<this.elements.length;i++)
{
var e = this.elements[i];
//接下来的是调用了
if(e.type =="text" && e.onchange == validateOnChange){
e.onchange();//e.onchange();是一个函数 应该这样调用
if(e.classname == "invalid") invalid = true;
}
}
if(invalid){
alert("The form is incompletely or incorrectly filled out.\n "+"Please correct the highlighted field and try again");
return false;
}
}
})();
</script>
</body>
</html>
解决方案 »
- 求一段同时显示小写与大写金额的代码
- js自动添加闭合标签
- 如何让学员资料的修改页面自动显示对应的学员的收费记录
- js代码模块改由数据库中动态加载,妥否?
- JS里有没有清屏的函数?
- 下面的javascript中"xmlDoc.load"能不能装载服务器端的xml,如果不是xml是html也可以吗?
- 请问:怎样当一个checkbox被点击的时候,使这个checkbox的value存储这个checkbox所在的表格的行的行号?谢谢!
- 数字相加减的问题 SOS!!!!
- 怎么才能像IE菜单一样让菜单被点击以后,才显示下拉菜单?(40分奉送)
- 急救:javascript Table 操作
- 请问页面里的js代码放在哪个目录下?
- jquery说跨浏览器都是胡扯
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Untitled Document</title>
<style >
.invalid { background-color:#fa0;}
</style>
</head><body>
<form>
Name:<input type="text" name="name" required /><br />
email:<input type="text" name="email" pattern="^\s*\w+@\w+\.\w+\s*$" /><br />
zipcode:<input type="text" name="zip" pattern = "^\s*\d{5}\s*$" /><br>
unvalidated:<input type="text" /><br />
<input type="submit" />
</form>
<script>
(function()/*匿名函数的作用,为什么权威指南的工具函数都用匿名函数*/{
if(window.addEventListener) window.addEventListener("load",init,false);
else if(window.attachEvent) window.attachEvent("onload",init);
function init(){
for(var i=0;i<document.forms.length;i++)
{
var f=document.forms[i];//第i个form
var needValidation = false;// Assume ,for now,that this form does not need any validation
for(var j=0;j<f.elements.length;j++)
{
e = f.elements[j];
if(e.type!="text") continue;
//
var pattern = e.getAttribute("pattern");
var required = e.getAttribute("required")!=null;
//See if it has attribute that require validation
if(required&&!pattern){
pattern = "^\\s*\\d{5}\\s*$"; //"\\s"是什么意思?应该是不让带required的textfield 为空 此时的pattern是不存在的 只是不为空就可以了
e.setAttribute("pattern",pattern);
}//////////////////////////这里的正则表达式和zipcode:<input type="text" name="zip" pattern = "^\s*\d{5}\s*$" /><br>一样为什么还是不行恩?????????????? if(e.pattern){
e.onchange = validateOnChange;
needsValidation = true;
}
}
if(needValidation) f.onsubmit = validateOnSubmit;
}
}
function validateOnChange()
{ var textfield = this;
var pattern = textfield.getAttribute("pattern");
var value = textfield.value;
if(value.search(pattern)==-1) textfield.className = "invalid";
else textfield.className = "valid";
}
function validateOnSubmit()
{
var invalid = false;
for(var i=0;i<this.elements.length;i++)
{
var e = this.elements[i];
//接下来的是调用了
if(e.type =="text" && e.onchange == validateOnChange){
e.onchange();//e.onchange();是一个函数 应该这样调用
if(e.classname == "invalid") invalid = true;
}
}
if(invalid){
alert("The form is incompletely or incorrectly filled out.\n "+"Please correct the highlighted field and try again");
return false;
}
}
})();
</script>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style >
input.invalid { background-color:#fa0;}
</style>
</head><body>
<form action="test.asp">
Name:<input type="text" name="name" required /><br />
email:<input type="text" name="email" pattern="^\s*\w+@\w+\.\w+\s*$" /><br />
zipcode:<input type="text" name="zip" pattern = "^\s*\d{5}\s*$" /><br>
unvalidated:<input type="text" onchange='alert("test")' /><br />
<input type="submit" />
</form>
<script>
(function()/*匿名函数的作用,为什么权威指南的工具函数都用匿名函数*/{
if(window.addEventListener) window.addEventListener("load",init,false);
else if(window.attachEvent) window.attachEvent("onload",init);
function init(){
for(var i=0;i<document.forms.length;i++)
{
var f=document.forms[i];//第i个form
var needValidation = false;// Assume ,for now,that this form does not need any validation
for(var j=0;j<f.elements.length;j++)
{
e = f.elements[j];
if(e.type!="text") continue;
//
var pattern = e.getAttribute("pattern");
var required = e.getAttribute("required")!=null;
//See if it has attribute that require validation
if(required&&!pattern){
pattern = "^\s*\d{5}\s*$"; //"\\s"是什么意思?应该是不让带required的textfield 为空 此时的pattern是不存在的 只是不为空就可以了
e.setAttribute("pattern",pattern);
}//////////////////////////这里的正则表达式和zipcode:<input type="text" name="zip" pattern = "^\s*\d{5}\s*$" /><br>一样为什么还是不行恩??????????????
if(e.getAttribute("pattern")){
e.onchange=function(){validateOnChange(e);};
needsValidation = true;
}
}
if(needsValidation) f.onsubmit = function(){return validateOnSubmit(f);}; }
}
function validateOnChange(obj)
{ var textfield = obj;
var pattern = textfield.getAttribute("pattern");
var value = textfield.value;
if(value.search(pattern)==-1) textfield.classname = "invalid";
else textfield.classname = "valid";
}
function validateOnSubmit(form)
{
var invalid = false;
for(var i=0;i<form.elements.length;i++)
{
var e = form.elements[i];
//接下来的是调用了
//if(e.type =="text" && e.onchange == validateOnChange){
// e.onchange();//e.onchange();是一个函数 应该这样调用
if(e.classname == "invalid") invalid = true;
// }
}
if(invalid){
alert("The form is incompletely or incorrectly filled out.\n "+"Please correct the highlighted field and try again");
return false;
}
}
})();
</script>
</body>
</html>