javascript - 我正在尝试验证 jsp 登录表单,我需要字段(标签)验证而不是警报消息

标签 javascript html css forms jsp

这是我的javascript:

function checkEmail() {

    var email = document.getElementById('mLoginName');


    var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})|([0-9]{10})+$/;


    if (!filter.test(email.value)) {
        alert("Please enter valid email id or 10 digit mobile number");
        email.focus();
        return false;
    }
}

HTML代码:

<form:form method="post" onsubmit="return checkEmail();" action="SignIn"  modelAttribute="memberBean" >
    <form:input type='hidden' name='mode' id='mode' path='mode' />
    <form:input type='text'  class="input" name='mLoginName'  id='mLoginName' path='mLoginName' onblur="checkInp()" placeholder='Email/Mobile' />

<input type='submit' class="submit" value='SignIn/SignUp' >
</form:form>

最佳答案

您可以只添加一个 <span id="mLoginValidate"></span> (或 <p></p> 取决于您希望它的外观)输入后,然后在您的代码中添加

document.getElementById('mLoginValidate').innerHTML = "Please enter valid email id or 10 digit mobile number";

您还可以将其 css 更改为 display: none当用户开始重新输入时,然后将其改回执行 display: block验证失败。

这是一个 fiddle : https://jsfiddle.net/virginieLGB/h600vecx/

这是我所做的:
HTML:

<input type='text'  ... onkeydown="hideError()" />
<span id="mLoginValidate">Please enter valid email id or 10 digit mobile number</span>

CSS:

span {
  color: red;
  display: none;
}

JavaScript:

function hideError() {
    document.getElementById("mLoginValidate").style.display = "none";
} 

在您的 checkEmail() 函数中:

document.getElementById("mLoginValidate").style.display = "block";

关于javascript - 我正在尝试验证 jsp 登录表单,我需要字段(标签)验证而不是警报消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36338819/

相关文章:

javascript - 从 JSON 创建对象

javascript - 使用 Javascript Bookmarklet 按标题对页面内容进行分块

javascript - 如何使数据在从下拉菜单中选择后自动填充表单

javascript - 如何在 javascript 中将样式属性重置为其 CSS 默认值?

jquery - IE7 和 "jaggies"围绕分层 PNG(使用 jQuery)

Javascript 将按钮添加到表中

javascript - php服务器无法使用$.http().post请求从angularjs接收json变量

javascript - 使用 Pinterest 悬停按钮,但在 XHTML 1.0 Strict 中对某些图像禁用它

html - 最好的做法是使用 * {box-sizing : border-box} in 2016 HTML websites?

javascript - 在相对定位的 div 内定位跨度