【问题标题】:invisbile submit button on form表单上不可见的提交按钮
【发布时间】:2012-04-09 09:40:17
【问题描述】:

我有一个受验证代码约束的表单。 前任。 userName 必须有字母字符。 因此返回 true 或 false。

function isAlphapet()
{
  var alphaExp = /^[a-zA-Z]+$/;
  var namee=document.validation.userName.value;
  var nalt=document.getElementById('name1');
  if(namee!="")
   {
      if(!namee.match(alphaExp))
      {
       nalt.innerHTML="<font color='red'> Invalid Name: " + document.validation.userName.value + "</font>";
       document.validation.userName.focus();
       document.validation.userName.value="";
       //This will remove the success class if the user tries to modify it incorrectly.
       document.getElementById("userName").className = document.getElementById("userName").className.replace(" validationSuccess", "");
       //This is calling the css class name validationError to color the text box border in red if there is an error.
       //Leaving the replacing attribute empty incase the user hasn't input the correct string.
       document.getElementById("userName").className = document.getElementById("userName").className + " validationError";
         return false;  
       }else{//if it's validated correctly
          nalt.innerHTML="";
         //The text box should be green.
          document.getElementById("userName").className = document.getElementById("userName").className + " validationSuccess";
            return true; 
        }
   }
  else  if(namee.length==0) { //if the user leaves it blank.
   nalt.innerHTML="<font color='red'> Enter Name</font>";
    document.getElementById('name1').focus();
    document.getElementById("userName").className = document.getElementById("userName").className.replace(" validationSuccess", "");
    document.getElementById("userName").className = document.getElementById("userName").className + " validationError";
    //The above is explained on line 27+.
   return false;
    }
}

在我的用户名文本框的表单中:

Your Name:<br /><input name="userName" id="userName" onBlur="isAlphapet()" type="text" size="20" maxlength="25" /><br />

一旦以上返回 true,我需要启用我的按钮。但是由于某种原因,当我尝试在正文中的 JScript 中使用 isAlphapet 时,它没有返回任何内容。

有人有解决办法吗?

非常感谢。

编辑

感谢您回复斯里尼。

嗯。不,在我进行更改后,整个验证功能都停止了工作。我想要实现的比听起来要简单一些。我需要一个 if 语句或类似以下内容:

if (isAlphapet()== true && emailvalid()== true && browserValid()==true){
    document.validation.sumb.disabled=false;
}
else{
    document.validation.subm.diabled=true;
}

validation 是我的表单的名称。我尝试在标题和正文中使用它。它也不识别我的函数的返回值。但是按钮禁用和启用仅在 /form 标记之后有效

【问题讨论】:

    标签: javascript html forms submit show


    【解决方案1】:

    试试这个

                  <html>
                <head>
                <script type="text/javascript">
                function isAlphapet()
                {
    
                 var alphaExp = /^[a-zA-Z]+$/;
                 var namee=document.getElementById('userName').value;
    
                 var nalt=document.getElementById('name1');
          if(namee!="")
          {
        if(!namee.match(alphaExp))
        {
            alert(namee);       
    
    
            nalt.innerHTML="<span style='color:red;'> Invalid Name: " + namee + "</span>";
            document.validation.userName.focus();
            document.validation.userName.value="";
       //This will remove the success class if the user tries to modify it incorrectly.
             document.getElementById("userName").className = document.getElementById("userName").className.replace("             validationSuccess",        "");
       //This is calling the css class name validationError to color the text box border in red if there is an error.
       //Leaving the replacing attribute empty incase the user hasn't input the correct string.
             document.getElementById("userName").className = document.getElementById("userName").className + " validationError";
             return false;  
          }
    
          else{//if it's validated correctly
          nalt.innerHTML="";
         //The text box should be green.
          document.getElementById("userName").className = document.getElementById("userName").className + " validationSuccess";
            return true; 
          }
      }
        else  if(namee.length==0) { //if the user leaves it blank.
           nalt.innerHTML="<font color='red'> Enter Name</font>";
           document.getElementById('name1').focus();
           document.getElementById("userName").className = document.getElementById("userName").className.replace(" validationSuccess", "");
           document.getElementById("userName").className = document.getElementById("userName").className + " validationError";
    //The above is explained on line 27+.
          return false;
        }
     }
    
                </script>
                </head>
            <body>
             <div style="float:left">
                <form>
                    Your Name:<br /><input name="userName" id="userName" onBlur="isAlphapet()" type="text" size="20" maxlength=                    "25" /><br />
                </form>
            </div>
              <div id="name1" style="float:left"></div>
             </body>
            </html> 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-23
      • 1970-01-01
      • 2023-04-10
      • 2012-07-25
      • 1970-01-01
      • 2015-11-19
      • 1970-01-01
      相关资源
      最近更新 更多