gpt4 book ai didi

使用默认字段值进行 Javascript 验证

转载 作者:行者123 更新时间:2023-11-28 09:57:58 25 4
gpt4 key购买 nike

这里是新手。我需要一些帮助。

我正在为我的网站使用预先编写的 JavaScript 表单验证器,但问题是,它不是为具有默认值的字段而设计的。所以问题是验证器认为值“Name”和“Message”是有效的,并且消息在没有任何错误消息的情况下通过。

我做了一些研究并看到了一些建议,但由于对 javascript 的了解很少,我不知道如何实现它们或如何创建另一组验证规则。

顺便说一句,我正在使用 [http://www.faridhadi.com/][1] 的免费联系表

下面是我正在编写的脚本:

希望大家能帮帮我!谢谢!

// JavaScript Document

$(document).ready(function() {

$('#contactForm #submit').click(function() {
// Fade in the progress bar
$('#contactForm #formProgress').hide();
$('#contactForm #formProgress').html('<img src="images/ajax-loader.gif" /> Sending&hellip;');
$('#contactForm #formProgress').fadeIn();

// Disable the submit button
$('#contactForm #submit').attr("disabled", "disabled");

// Clear and hide any error messages
$('#contactForm .formError').html('');

// Set temaprary variables for the script
var isFocus=0;
var isError=0;

// Get the data from the form
var name=$('#contactForm #name').val();
var email=$('#contactForm #email').val();
var subject=$('#contactForm #subject').val();
var message=$('#contactForm #message').val();

// Validate the data
if(name=='') {
$('#contactForm #errorName').html('This is a required field.');
$('#contactForm #name').focus();
isFocus=1;
isError=1;
}
if(email=='') {
$('#contactForm #errorEmail').html('This is a required field.');
if(isFocus==0) {
$('#contactForm #email').focus();
isFocus=1;
}
isError=1;
} else {
var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
if(reg.test(email)==false) {
$('#contactForm #errorEmail').html('Invalid email address.');
if(isFocus==0) {
$('#contactForm #email').focus();
isFocus=1;
}
isError=1;
}
}
if(message=='') {
$('#contactForm #errorMessage').html('This is a required field.');
if(isFocus==0) {
$('#contactForm #message').focus();
isFocus=1;
}
isError=1;
}

// Terminate the script if an error is found
if(isError==1) {
$('#contactForm #formProgress').html('');
$('#contactForm #formProgress').hide();

// Activate the submit button
$('#contactForm #submit').attr("disabled", "");

return false;
}

$.ajaxSetup ({
cache: false
});

var dataString = 'name='+ name + '&email=' + email + '&subject=' + subject + '&message=' + message;
$.ajax({
type: "POST",
url: "php/submit-form-ajax.php",
data: dataString,
success: function(msg) {

//alert(msg);

// Check to see if the mail was successfully sent
if(msg=='Mail sent') {
// Update the progress bar
$('#contactForm #formProgress').html('<img src="images/ajax-complete.gif" /> Message sent.').delay(2000).fadeOut(400);

// Clear the subject field and message textbox
$('#contactForm #subject').val('');
$('#contactForm #message').val('');
} else {
$('#contactForm #formProgress').html('');
alert('There was an error sending your email. Please try again.');
}

// Activate the submit button
$('#contactForm #submit').attr("disabled", "");
},
error: function(ob,errStr) {
$('#contactForm #formProgress').html('');
alert('There was an error sending your email. Please try again.');

// Activate the submit button
$('#contactForm #submit').attr("disabled", "");
}
});

return false;
});
});

最佳答案

你最好使用HTML5 placeholder您的“默认值”属性。要支持所有浏览器,您可以使用 jQuery watermark Poly 填充旧版浏览器以支持 placeholder 的插件。

为了进行验证,最好使用广泛使用的 jQuery Validator插件

关于使用默认字段值进行 Javascript 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9704888/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com