Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 表单的验证方法_Javascript_Jquery - Fatal编程技术网

Javascript 表单的验证方法

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

我有一个表单,我想用jQuery生成的validateForm()方法验证它:

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;
}

}