Jquery表单验证错误显示Div
Jquery Form Validation Error Display Div
我对jQuery相当陌生,所以我的代码可能不是最精简的。我正在尝试编写自己的表单验证脚本,这一切都很好。
但是为了减少CSS,我想在相同的div标签中显示每个表单输入的错误消息。因此,valid_prompt的div标签放置在每个输入字段之后。
我目前遇到的问题是所有的错误消息都显示在div标签的第一次出现,这是预期的,但我需要一些方法将每个唯一的输入字段链接到显示错误的div。
表单输入示例
<input name="email1" id="email1" type="text" size="30" maxlength="80"
value="<?php echo "$email1"; ?>" /><span id="valid_prompt"></span>
<br/>
<br/>
<label><span class="reqfieldstar"> * </span>Confirm E-mail Address:</label>
<input name="email2" id="email2" type="text" size="30" maxlength="40" value="<?php echo "$email2"; ?>" /><span id="valid_prompt"></span>
Jquery代码var form = $("#SignupForm"); // Id of Form
var email = $("#email1"); // Email Address ID
var email_compare = $("#email2"); // Compare Email Address ID
var valid_prompt = $("#valid_prompt");
var lettersReg = /^([a-zA-Z,-]|'s)*$/;
var emailReg = /^('S+@'S+('.'S+)*'.('S{2,4}))?$/i;
email.keyup(validateEmail);
email_compare.keyup(validateEmail_Compare);
firstname.keyup(validateFirstname);
surname.keyup(validateSurname);
email.blur(validateEmail);
email_compare.blur(validateEmail_Compare);
firstname.blur(validateFirstname);
surname.blur(validateSurname);
form.submit(function() {
if (validateEmail() && validateEmail_Compare() && validateFirstname() && validateSurname()) {
return true;
} else {
return false;
}
});
function validateEmail() {
if (email.val().length == 0) {
email.addClass("error");
valid_prompt.removeClass("correct");
valid_prompt.text("You Must Enter Your E-mail Address");
valid_prompt.removeClass("correct");
valid_prompt.addClass("error");
return false;
} else {
if (!emailReg.test(email.val())) {
email.addClass("error");
valid_prompt.removeClass("correct");
valid_prompt.text("Please Enter a Valid E-mail Address");
valid_prompt.removeClass("correct");
valid_prompt.addClass("error");
return false;
} else {
email.removeClass("error");
valid_prompt.text("");
valid_prompt.addClass("correct");
valid_prompt.removeClass("error");
return true;
}
}
} // Email Function End
function validateEmail_Compare() {
if (email_compare.val().length == 0) {
email_compare.addClass("error");
valid_prompt.removeClass("correct");
valid_prompt.text("You Must Confirm Your E-mail Address");
valid_prompt.removeClass("correct");
valid_prompt.addClass("error");
return false;
} else {
if (!emailReg.test(email_compare.val())) {
email_compare.addClass("error");
valid_prompt.removeClass("correct");
valid_prompt.text("Please Enter a Valid E-mail Address");
valid_prompt.removeClass("correct");
valid_prompt.addClass("error");
return false;
} else {
if (email.val() != email_compare.val()) {
email_compare.addClass("error");
valid_prompt.removeClass("correct");
valid_prompt.text("Your E-mail Addresses Do Not Match");
valid_prompt.removeClass("correct");
valid_prompt.addClass("error");
return false;
} else {
email_compare.removeClass("error");
valid_prompt.text("");
valid_prompt.addClass("correct");
valid_prompt.removeClass("error");
return true;
}
}
}
} // Email Compare Function End
您可以根据任何不正确的输入值"移动"错误div。如:
$("input[type=text]").click(function(){
$("#errorDiv").insertAfter($(this));
});
示例:http://jsfiddle.net/62A6a/
相关文章:
- JavaScript/jQuery:显示DIV,直到用户停止在Textbox中键入
- 在if/else语句中显示DIV
- onSubmit在php脚本的开头显示DIV
- 使用getElementsByClassName在点击时显示Div的Javascript
- 使其在悬停文本时显示Div
- 如何只在收到服务器的回复消息后显示DIV
- 隐藏/显示DIV
- 简单的多选项卡隐藏/显示DIV
- 当满足javascript/jquery条件时显示DIV(包括jsFiddle链接)
- Javascript在秒消失时显示DIV元素,并在此之后隐藏栏的选项
- 如何根据另一个 DIV 内容的可见性显示 DIV 内容
- 单击时隐藏并显示 Div
- 如果选择了所有无线电中的任何一个选项,则显示 Div
- 如何根据 Div ID 内容隐藏/显示 DIV
- 在 JQuery 对话框中隐藏和显示 Div 内容
- 检测YouTube时间然后显示DIV?使用 JavaScript
- 按自定义顺序显示 DIV
- 当用户从页面底部达到 X 像素时,如何显示 DIV
- 在提交时显示 DIV 的内容
- 单击单选选择时动态显示 DIV