Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.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 隐藏子类别字段上的jquery表单验证_Javascript_Php_Jquery_Forms_Validation - Fatal编程技术网

Javascript 隐藏子类别字段上的jquery表单验证

Javascript 隐藏子类别字段上的jquery表单验证,javascript,php,jquery,forms,validation,Javascript,Php,Jquery,Forms,Validation,我需要对具有标题、类别、子类别和消息字段的表单进行jquery验证。我已经能够得到验证,除了子类别。由于某种原因,我就是不能让它工作。我希望这里有人能帮我 验证代码: <script type="text/javascript"> jQuery(document).ready(function(){ var adForm = jQuery("#Add_post_form"); var cc_title = jQuery("#title"); var c

我需要对具有标题、类别、子类别和消息字段的表单进行jquery验证。我已经能够得到验证,除了子类别。由于某种原因,我就是不能让它工作。我希望这里有人能帮我

验证代码:

<script type="text/javascript">
jQuery(document).ready(function(){
    var adForm = jQuery("#Add_post_form"); 
    var cc_title = jQuery("#title");   
    var cc_desc = jQuery("#cc_desc");
    var cc_desc_error = jQuery(".desc_error");
    var cat = jQuery("#cat");
    var cat_error = jQuery(".category_error");
    function validate_title(){
        if(cc_title.val() == ''){
            cc_title.addClass("error");
            cc_title.attr("placeholder", "<?php echo ENTER_TITLE; ?>");
            cc_title.css('border', 'solid 1px red');
            cc_title.css('background-color', '#ffece8');
            return false;
        }else{
            cc_title.removeClass("error");   
            cc_title.css('border', 'none');
            cc_title.css('background-color', '');
            return true;
        }
    }
    cc_title.blur(validate_title);
    cc_title.keyup(validate_title);
    function validate_desc(){
        if(cc_desc.val() == ""){
            cc_desc.addClass("error");
            cc_desc.css('border', 'solid 1px red');
            cc_desc_error.addClass("error");
            cc_desc_error.text("<?php echo ENTER_DES; ?>");
            return false;
        }else{
            cc_desc.removeClass("error");
            cc_desc_error.removeClass("error");
            cc_desc_error.text("");
            cc_desc.css('border', 'none');
            return true;
        }
    }
    cc_desc.blur(validate_desc);
    cc_desc.keyup(validate_desc);
    function validate_category(){
        if(cat.val() == '-1'){
            cat.addClass("error");
            cat.css('border', 'solid 1px red');
            cat_error.addClass("error");
            cat_error.text("<?php echo ENTER_CAT; ?>");
            return false;
        }else{
            cat.removeClass("error");
            cat_error.removeClass("error");
            cat_error.text("");
            cat.css('border', 'none');
            return true;
        }
    }
    cat.blur(validate_category);
    cat.keyup(validate_category);

    adForm.submit(function()
    {
        if(validate_title() & validate_desc() & validate_category())
        {
            return true;
        }
        else
        {
            return false;
        }
    });
});

jQuery(文档).ready(函数(){
var adForm=jQuery(“#Add#u post_form”);
var cc#u title=jQuery(“title”);
var cc#u desc=jQuery(“cc#u desc”);
var cc_desc_error=jQuery(“.desc_error”);
var cat=jQuery(“cat”);
var cat_error=jQuery(“.category_error”);
函数validate_title(){
如果(cc_title.val()=''){
cc_title.addClass(“错误”);
cc_title.attr(“占位符”,“占位符”);
cc_title.css('border','solid 1px red');
cc#u title.css('background-color','ffece8');
返回false;
}否则{
cc_title.removeClass(“错误”);
cc_title.css('border','none');
cc_title.css('背景色','');
返回true;
}
}
cc_title.blur(验证_title);
cc_title.keyup(验证_title);
函数validate_desc(){
如果(cc_desc.val()=“”){
cc_desc.addClass(“错误”);
cc_desc.css(“边框”,“实心1px红色”);
cc_desc_error.addClass(“错误”);
cc_desc_error.text(“”);
返回false;
}否则{
抄送说明removeClass(“错误”);
cc_desc_error.removeClass(“错误”);
cc_desc_error.text(“”);
cc_desc.css('border','none');
返回true;
}
}
抄送描述模糊(验证描述);
抄送说明键控(验证说明);
函数validate_category(){
如果(cat.val()='-1'){
类别addClass(“错误”);
css类(“边框”,“实心1px红色”);
cat_error.addClass(“错误”);
cat_错误。文本(“”);
返回false;
}否则{
类别removeClass(“错误”);
cat_error.removeClass(“错误”);
cat_错误。文本(“”);
css类(“边框”、“无”);
返回true;
}
}
类别模糊(验证类别);
类别键控(验证类别);
adForm.submit(函数()
{
如果(验证标题()&验证说明()&验证类别())
{
返回true;
}
其他的
{
返回false;
}
});
});

我的表格js:

 <script type="text/javascript">
    function displaychk_frm(){
        dom = document.forms['add_post_form'];
        chk = dom.elements['category[]'];
        len = dom.elements['category[]'].length;

        if(document.getElementById('selectall').checked == true) { 
            for (i = 0; i < len; i++)
                chk[i].checked = true ;
        } else { 
            for (i = 0; i < len; i++)
                chk[i].checked = false ;
        }
    }
</script>

函数显示chk_frm(){
dom=document.forms['add_post_form'];
chk=dom.elements['category[]'];
len=dom.elements['category[]'].length;
如果(document.getElementById('selectall').checked==true){
对于(i=0;i
HTLM表格:

<form name="add_post_form" id="Add_post_form" action="" method="post" enctype="multipart/form-data">
<!--Start Step1-->
<div class="step1">
    <div class="label">
        <label><?php echo AD_TTLE; ?></label>
    </div>
    <div class="row">
        <input type="text" name="cc_title" maxlength="40" id="title"/>
    </div>   
    <div class="label">
        <label><?php echo SLT_CAT; ?></label>
    </div>
    <div class="row">
      <div id="ad-categories">                      
            <div id="catlvl0">
                <?php
                wp_dropdown_categories('show_option_none=' . __('Selecteer categorie', 'appthemes') . '&class=dropdownlist&orderby=name&order=ASC&hide_empty=0&hierarchical=1&taxonomy=' . CUSTOM_CAT_TYPE . '&depth=1');
                ?>
                <div style="clear:both;"></div>
            </div>
        </div>    
        <div id="ad-categories-footer">               
            <div id="chosenCategory"><input id="cat" name="cc_category" type="hidden" value="-1" />

</div>
            <div style="clear:both;"></div>
        </div>  
    </div>
    <div class="label">
        <label for="cc_desc"><?php echo DESC; ?></label>
    </div>
    <div class="row">
        <textarea name="cc_description" id="cc_desc"></textarea>           
                </div>                             
</div>
<input class="submit" type="submit" name="step1" value="NEXT"/>

由于我是通过ID进行验证的,并且类别和子类别都具有相同的ID(cat),因此我假设验证应该在这两个字段上都有效,但事实并非如此


“子类别”下拉字段将隐藏,直到用户首先选择类别。也许这与此有关?有什么想法吗?

不要在不同的元素上使用相同的id

从JQuery文档中:

每个id值在文档中只能使用一次。如果为多个元素分配了相同的ID,则使用该ID的查询将只选择DOM中第一个匹配的元素。然而,这种行为不应该被依赖;包含多个使用相同ID的元素的文档无效


如果使用Jquery处理元素,则需要具有ID、类或标记名。如果两个元素具有相同的id,则可以执行类似的操作

$(文档).ready(函数(){
警报($($select:eq(0)”).find($option:eq(0)”).html();
警报($($select:eq(1)”).find($option:eq(0)”).html();
})

项目1
分项1

感谢您的输入。我试过你的建议,但没用。事实上,当我尝试它时,没有任何东西得到验证。你的表格中有多少选择?你要验证的选择的索引是什么(类别和子类别)?我不确定你所说的索引是什么意思。主/父类别有3个选项。每个子类别/子类别都有几个选项。它并没有走得更深。默认值为-1,我正在验证的值不是-1。