Javascript 表单的验证方法
我有一个表单,我想用jQuery生成的validateForm()方法验证它:Javascript 表单的验证方法,javascript,jquery,Javascript,Jquery,我有一个表单,我想用jQuery生成的validateForm()方法验证它: function validateForm() { var count = 0; $("input[type='text']").each(function () { if ($(this).id == "AbdominalCircumferencetext") { if ($("#AbdominalCircumferencetext").val() == "" || ($("#Abdomi
function validateForm() {
var count = 0;
$("input[type='text']").each(function () {
if ($(this).id == "AbdominalCircumferencetext") {
if ($("#AbdominalCircumferencetext").val() == "" || ($("#AbdominalCircumferenceradio").val().length == 0)) {
($("#AbdominalCircumferencetext").css("border", "2px solid red"));
($("#AbdominalCircumferenceradio").css("border", "2px solid red"));
count++;
}
}
if ($(this).val() == "") {
$(this).css("border", "2px solid red");
count++;
}
else {
$(this).css("border", "");
}
});
var checkboxGroupNames = [];
$(':radio').each(function () {
var nameOfCheckBoxGroup = $(this).attr('name');
var nameExistInList = jQuery.inArray(nameOfCheckBoxGroup, checkboxGroupNames);
if (nameExistInList < 0) {
checkboxGroupNames.push(nameOfCheckBoxGroup);
}
});
var counter = 0;
var counts = 0;
$.each(checkboxGroupNames, function () {
if ( $("input[name='" + checkboxGroupNames[counter] + "']:checked").length === 0) {
$("#" + checkboxGroupNames[counter] + "radio").css("border", "2px solid red");
counts++;
}
else {
$("#" + checkboxGroupNames[counter] + "radio").css("border", "");
}
counter++;
});
if (counts == 0 && count == 0) {
return true;
} else {
alert("Du måste fylla i alla rutorna samt välja något alternativ av radioknapparna!");
return false;
}
函数validateForm(){
var计数=0;
$(“输入[type='text']”)。每个(函数(){
if($(this.id==“AbdominalCircumReferenceText”){
if($(“#AbdominalCircumReferenceText”).val()==”|($(“#AbdominalCircumReferenceRadio”).val().length==0)){
($(“#AbdominalCircumferencetext”).css(“边框”,“2px实心红色”);
($(“#腹围会议室”).css(“边框”,“2倍纯红”);
计数++;
}
}
if($(this).val()==“”){
$(this.css(“边框”,“2px实心红色”);
计数++;
}
否则{
$(this.css(“border”,”);
}
});
var checkboxGroupNames=[];
$(':radio')。每个(函数(){
var nameOfCheckBoxGroup=$(this.attr('name');
var nameExistInList=jQuery.inArray(checkboxgroup、checkboxgroupname的名称);
如果(名称存在列表<0){
checkboxGroupNames.push(checkboxGroup的名称);
}
});
var计数器=0;
var计数=0;
$.each(checkboxGroupName,函数(){
if($($(输入[name=”+checkboxGroupNames[counter]+“']:选中”)。长度==0){
$(“#”+checkboxGroupNames[计数器]+“收音机”).css(“边框”,“2px实心红色”);
计数++;
}
否则{
$(“#”+checkboxGroupNames[counter]+“radio”).css(“border”,即“);
}
计数器++;
});
如果(计数=0&&count==0){
返回true;
}否则{
警惕(“我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我;
返回false;
}
}
问题是我想对每个没有值的文本字段或单选按钮进行计数。因此,每次边框设置为红色时,它都没有值,在这种情况下,我希望像代码中那样进行计数。然后,在代码通过所有文本框和单选按钮后,如果其中任何一个失败,我想使用se。但是我不能像代码末尾那样计算。它说这永远是真的。如果有更好的方法?或者我的方法是正确的,但我的语法有误还是什么?您的代码似乎有点“到处都是”。如果您有一个包含三个变量(名为“count”、“counter”和“counts”)的函数,您应该会觉得您走错了方向:)
如果我正确理解了您的代码,您所要做的就是检查文本类型的输入是否为空,以及是否选中了所有单选按钮选项。如果是这样的话,我会写这样的东西
这不是对您问题的回答,但为什么不使用类似于i forgott的内容来说明表单是动态创建的,因此我无法为表单中的每个输入设置值。我想我必须在一个循环中检查每一个输入。那么你是说你总是在变真实?边界是否添加到元素中?如果(计数==0&&count==0){return true;}否则{alert(“Du måste fylla i alla rutorna samt välja något alternativ av radioknapparna!”),则返回false;}上面代码末尾的这段代码将始终返回true,这是VisualStudio告诉我的:PDid您调试代码了吗?尝试控制台.log(计数)
function validateForm() {
var isMissingAnswer = false,
radioButtons = [];
// Go through inputs in form
$('input:not([type="submit"])').each(function() {
// Collect radio button names
if( this.type == 'radio' ) {
if( $.inArray(this.name, radioButtons) == -1 ) {
radioButtons.push(this.name);
}
}
// Check if answer is given
else {
if( this.value == '' ) {
$(this).css('border', 'red solid 2px');
isMissingAnswer = true;
} else {
$(this).css('border', '');
}
}
});
// Go through radio buttons and make sure they're checked
$.each(radioButtons, function(i, name) {
var $radioButtons = $('input[name="'+name+'"]');
if( $radioButtons.filter(':checked').length == 0 ) {
$radioButtons.parent().css('border', 'red solid 2px');
isMissingAnswer = true;
} else {
$radioButtons.parent().css('border', '');
}
});
if( isMissingAnswer ) {
alert("Du måste fylla i alla rutorna samt välja något alternativ av radioknapparna!");
return false;
} else {
alert('Allt gick bra :)');
return true;
}
}