下面是全部代码:
两个js函数,test()在文本框失去焦点时检测输入字符长度,ifpass()判断是否可以提交信息!
若输入错误点击提交,提交再次点就没反应了!必须清空后再点才行!这是为啥啊?
(“提交”是button类型,“清空”是submit)
我想实现:点击一个按键判断是否提交,若不能提交则保留原数据~~

下面是全部代码<!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>无标题文档</title>
<script type="text/javascript">
var pass=new Array(false,false,false,false);
function test(text,start,end,result,which){
if(text.value.length>=start&&text.value.length<=end){
result.value="OK~~";
pass[which]=true;}
else{
result.value="Wrong!!  "+start+"到"+end+"个字符";
pass[which]=false;}
}
function ifpass(){
ifpass=true;
for(i=0;i<pass.length;i++)
if(pass[i]==false){
ifpass=false;}
if(ifpass==false){
alert("信息填写格式不正确!!请检查...");}
else{
document.write("注册成功!!");}
}
</script>
<style type="text/css">
td.toright{
text-align:right;
width:100px;}
textarea,input{
border-style:solid;
border-color:#C0C0C0;
border-width:5;}
lable{
font-style:italic;}
input{
height:23px;}
input.state{
border-style:none;}body {
}
</style>
</head><body>
<table width="642" height="361" border="0">
  <form action="" method="get" name="mainform" onsubmit="ifpass()">
   <tr>
        <td width="120" class="toright">姓名 :</td>
        <td width="179">
            <input type="text" name="nameT" onblur="test(this,2,10,document.mainform.nameLm,0)"/></td>
        <td width="329" >
            <input type="text" name="nameLm" class="state" value="2~10个字符" disabled="disabled" /></td>
   </tr>
   <tr>
        <td class="toright">昵称 :</td>
        <td><input type="text" name="tnameT" onblur="test(this,1,10,document.mainform.tnameLm,1)"/></td>
        <td><input type="text" name="tnameLm" class="state" value="10个字符以内" disabled="disabled" /></td>
   </tr>
   <tr>
        <td class="toright">密码 :</td>
        <td><input type="text" name="passwordT" onblur="test(this,6,16,document.mainform.passwordLm,2)"/></td>
        <td><input type="text" name="passwordLm" class="state" value="6~16个字符" disabled="disabled" /></td>
   </tr>
   <tr>
        <td class="toright">确认密码:</td>
        <td><input type="text" name="password2T" onblur="test(this,6,16,document.mainform.password2Lm,3)"/></td>
        <td width="329"><input type="text" name="password2Lm" class="state" value="6~16个字符" disabled="disabled" /></td>
   </tr>
   <tr>
        <td height="109" class="toright">详细信息:</td>
        <td colspan="2"><textarea name="textarea" id="textareaT" cols="50" rows="7"></textarea></td>
   </tr>
<tr>
     <td></td>
     <td height="69" align="center"><input type="button" value="提 交" onclick="ifpass()"/></td>
        <td><input type="submit" value="清 空" /></td>
    </tr>
</form>
</table>
</body>
</html>

解决方案 »

  1.   


    function ifpass(){
        ifpass1=true;
        for(i=0;i<pass.length;i++)
            if(pass[i]==false){
                ifpass1=false;}
        if(ifpass1==false){
            alert("信息填写格式不正确!!请检查...");}
        else{
            document.write("注册成功!!");}
    }
    改下这段 试试。
      

  2.   

    function ifpass(){
        ifpass1=true;
        for(i=0;i<pass.length;i++)
            if(pass[i]==false){
                ifpass1=false;}
        if(ifpass1==false){
            alert("信息填写格式不正确!!请检查...");}
        else{
            document.write("注册成功!!");}
    }
    楼主 改下这段 试试。
      

  3.   

    <!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=gb2312" />
    <title>无标题文档</title>
    <script type="text/javascript">
    var pass=new Array(false,false,false,false);
    function test(text,start,end,result,which){
        if(text.value.length>=start&&text.value.length<=end){
            result.value="OK~~";
            pass[which]=true;}
        else{
            result.value="Wrong!!  "+start+"到"+end+"个字符";
            pass[which]=false;}
    }
    function ifpass(){
        ifpass=true;
        for(i=0;i<pass.length;i++)
            if(pass[i]==false){
                ifpass=false;}
        if(ifpass==false){
            alert("信息填写格式不正确!!请检查...");}
        else{
            document.write("注册成功!!");}
    }
    </script>
    <style type="text/css">
    td.toright{
        text-align:right;
        width:100px;}
    textarea,input{
        border-style:solid;
        border-color:#C0C0C0;
        border-width:5;}
    lable{
        font-style:italic;}
    input{
        height:23px;}
    input.state{
        border-style:none;}body {
    }
    </style>
    </head><body>
    <table width="642" height="361" border="0">
      <form action="" method="get" name="mainform" onsubmit="ifpass()">
          <tr>
            <td width="120" class="toright">姓名 :</td>
            <td width="179">
                <input type="text" name="nameT" onblur="test(this,2,10,document.mainform.nameLm,0)"/></td>
            <td width="329" >
                <input type="text" name="nameLm" class="state" value="2~10个字符" disabled="disabled" /></td>
          </tr>
          <tr>
            <td class="toright">昵称 :</td>
            <td><input type="text" name="tnameT" onblur="test(this,1,10,document.mainform.tnameLm,1)"/></td>
            <td><input type="text" name="tnameLm" class="state" value="10个字符以内" disabled="disabled" /></td>
          </tr>
          <tr>
            <td class="toright">密码 :</td>
            <td><input type="text" name="passwordT" onblur="test(this,6,16,document.mainform.passwordLm,2)"/></td>
            <td><input type="text" name="passwordLm" class="state" value="6~16个字符" disabled="disabled" /></td>
          </tr>
          <tr>
            <td class="toright">确认密码:</td>
            <td><input type="text" name="password2T" onblur="test(this,6,16,document.mainform.password2Lm,3)"/></td>
            <td width="329"><input type="text" name="password2Lm" class="state" value="6~16个字符" disabled="disabled" /></td>
          </tr>
          <tr>
            <td height="109" class="toright">详细信息:</td>
            <td colspan="2"><textarea name="textarea" id="textareaT" cols="50" rows="7"></textarea></td>
          </tr>
        <tr>
            <td></td>
            <td height="69" align="center"><input type="reset" value="清 空" /></td>
            <td><input type="submit" value="提 交" onclick="ifpass()"/></td>
        </tr>
    </form>
    </table>
    </body>
    </html>这样呢?
      

  4.   

    LZ是刚开始学吗?!
    <!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>无标题文档</title>
    <script type="text/javascript">
    var pass=new Array(false,false,false,false);
    function test(text,start,end,result,which){
        if(text.value.length >= start && text.value.length <= end){
            result.value = "OK~~";
            pass[which] = true;
    } else {
            result.value = "Wrong!!  " + start + "到" + end + "个字符";
            pass[which]=false;
    }
    }
    function ifpass(){
        passed = true;
        for(i = 0; i < pass.length; i++) {
            if(pass[i] == false){
                passed = false;
    break;
    }
    }
        if(passed == false){
            alert("信息填写格式不正确!!请检查...");
    }
    return passed;
    }
    </script>
    <style type="text/css">
    td.toright{
        text-align:right;
        width:100px;}
    textarea,input{
        border-style:solid;
        border-color:#C0C0C0;
        border-width:5;}
    lable{
        font-style:italic;}
    input{
        height:23px;}
    input.state{
        border-style:none;}body {
    }
    </style>
    </head>
    <body>
    <table width="642" height="361" border="0">
    <form action="" method="get" name="mainform" onsubmit="return ifpass()">
    <tr>
    <td width="120" class="toright">姓名 :</td>
    <td width="179"><input type="text" name="nameT" onblur="test(this,2,10,document.mainform.nameLm,0)"/></td>
    <td width="329" ><input type="text" name="nameLm" class="state" value="2~10个字符" disabled="disabled" /></td>
    </tr>
    <tr>
    <td class="toright">昵称 :</td>
    <td><input type="text" name="tnameT" onblur="test(this,1,10,document.mainform.tnameLm,1)"/></td>
    <td><input type="text" name="tnameLm" class="state" value="10个字符以内" disabled="disabled" /></td>
    </tr>
    <tr>
    <td class="toright">密码 :</td>
    <td><input type="text" name="passwordT" onblur="test(this,6,16,document.mainform.passwordLm,2)"/></td>
    <td><input type="text" name="passwordLm" class="state" value="6~16个字符" disabled="disabled" /></td>
    </tr>
    <tr>
    <td class="toright">确认密码:</td>
    <td><input type="text" name="password2T" onblur="test(this,6,16,document.mainform.password2Lm,3)"/></td>
    <td width="329"><input type="text" name="password2Lm" class="state" value="6~16个字符" disabled="disabled" /></td>
    </tr>
    <tr>
    <td height="109" class="toright">详细信息:</td>
    <td colspan="2"><textarea name="textarea" id="textareaT" cols="50" rows="7"></textarea></td>
    </tr>
    <tr>
    <td></td>
    <td height="69" align="center"><input type="submit" value="提 交"/></td>
    <td><input type="reset" value="清 空"/></td>
    </tr>
    </form>
    </table>
    </body>
    </html>
      

  5.   

    var pass=new Array(false,false,false,false);
    function test(text,start,end,result,which){
        if(text.value.length>=start&&text.value.length<=end){
            result.value="OK~~";
            pass[which]=true;}
        else{
            result.value="Wrong!!  "+start+"到"+end+"个字符";
            pass[which]=false;}
    }
    function ifpass(){
    //提交按钮失效的情况应为你把函数名和变量名命名成一样导致的,应为javascript不是严格的语言
        ifpassFlg=true;
        for(i=0;i<pass.length;i++)
            if(pass[i]==false){
                ifpassFlg=false;
             }
        if(ifpassFlg==false){
            alert("信息填写格式不正确!!请检查...");
            //在不能提交的情况家,这里可以做保存的操作
        }
        else{
            document.write("注册成功!!");}
    }