JS表单验证不在IE中工作

时间:2012-03-06 12:57:11

标签: javascript forms validation

简单的JS表单验证似乎在IE中不起作用。任何帮助都会很棒。它似乎是在提交表单而不是在电子邮件字段中没有输入任何内容时给我提醒。在Chrome,FF,Opera,Safari中使用,而不是在IE中。

HTML

<form action="index.php" name="loginForm" onsubmit="return validateLoginForm();" method="post" >
    <div class="formBg">
      <input type="text" name="email" id="email" tabindex="1" class="formPos" value="" placeholder="Email" />
      <div class="loginText"><a href="#" class="linkOne">Forgot your password?</a></div>
    </div>
    <div class="formBg">
      <input type="password" name="password" id="password" tabindex="2" class="formPos" value="" placeholder="Password" />
      <div class="loginText">Keep me logged in</div>
    </div>
    <div id="loginBtnFrame">
      <div id="loginBtn">
        <input type="submit" name="submit" id="loginFormBtn" value=" " tabindex="3" />
      </div>
      <div class="slider-frame"><span class="slider-button">no</span></div>
      <input type="checkbox" value="1" id="rememberMe" name="rememberMe" />
    </div>
  </form>

的Javascript

function validateLoginForm()
{
var x=document.forms["loginForm"]["email"].value;
if (x==null || x=="")
  {
  alert("email must be filled out");
  return false;
  }
}

提前非常感谢你。

1 个答案:

答案 0 :(得分:2)

对于可能遇到同样问题的人。

我发现IE简单表单验证与HTML或一些Jquery'占位符'冲突。我通过在JS命令中添加'(x == null || x ==“”|| x ==“Email”)'来解决这个问题。 “电子邮件”是占位符文本的位置。现在按预期工作。