Javascript Jquery Ajax验证复选框

Javascript Jquery Ajax验证复选框,javascript,jquery,validation,Javascript,Jquery,Validation,可能是一个简单的解决方案,所以我有点尴尬,但JS不是我真正的强项,所以我想我会问 我正在使用该插件提交一组复选框,以满足我正在制作的活动规划应用程序的要求 如果“requirement”没有数组键,我很难让验证预提交回调拒绝表单。我知道在php中,我可以简单地使用array_key_exists之类的东西,或者只检查isset(),但我不确定js中的同源词是什么。代码如下 <form id="choose_reqs" method="post" action="http://www.dom

可能是一个简单的解决方案,所以我有点尴尬,但JS不是我真正的强项,所以我想我会问

我正在使用该插件提交一组复选框,以满足我正在制作的活动规划应用程序的要求

如果“requirement”没有数组键,我很难让验证预提交回调拒绝表单。我知道在php中,我可以简单地使用array_key_exists之类的东西,或者只检查isset(),但我不确定js中的同源词是什么。代码如下

<form id="choose_reqs" method="post" action="http://www.domain.com/generator/chooseReqs/" enctype="multipart/form-data">
            <p>I'm planning on getting:</p>
            <?php foreach($_SESSION['event']->opt_r as $r){?>
                <span style="display:block; width:120px; padding:4px; border:1px #ccc solid;"><input type="checkbox" value="<?=$r;?>" name="requirement[]"/><?=$r;?></span>
            <?php }?>
            <input type="submit" name="event_chosen" value="Next" />
        </form>

显然,.hasOwnProperty()方法和我使用它的方式有问题。

从您在评论中链接的表单插件页面:

formData是一个对象数组,表示将发送到服务器的每个字段的名称和值


尝试将formData对象打印到控制台,以便验证其结构。

我可能在这里遗漏了一些明显的内容,但您在哪里定义
formData
对象?除非您(或您正在使用的插件)正在执行类似于
var formData={requirement:'something'}的操作我不明白这是怎么回事?插件本身负责定义formData对象和其他参数。这里描述了格式-但在该示例中,它们使用文本输入,因此定义了键,它们可以检查值是否为空。我的是复选框,所以如果什么都没有被选中(这是我试图拒绝的),就没有需求的关键,所以我需要检查它。这确实发生在我身上。。。当转储数组时,每个表单输入是一个多维数组,带有一个数字数组键,下面是“name”和“value”的键。我的问题是,我看不到如何钻取name key子项的数字键,并且只检查整个数组中是否存在该子项(因为提交键并不重要)。我曾想过遍历它们并指示它忽略名为submit的元素,但这似乎也不起作用。
function formSubmitCheck(formData, jqForm, options){

        if($('input[name=requirement[]]').fieldValue().length==0){ 
            alert('Please check at least one requirement'); 
            return false; 
        }else{

    $(jqForm).fadeOut(200);
    return true;
    }
   }
function formSubmitCheck(formData, jqForm, options){

        if($('input[name=requirement[]]').fieldValue().length==0){ 
            alert('Please check at least one requirement'); 
            return false; 
        }else{

    $(jqForm).fadeOut(200);
    return true;
    }
   }