Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.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_Jquery_Twitter Bootstrap_Twitter Bootstrap 3_Jquery Validate - Fatal编程技术网

Javascript 第二个jQuery验证在引导选项卡中不起作用

Javascript 第二个jQuery验证在引导选项卡中不起作用,javascript,jquery,twitter-bootstrap,twitter-bootstrap-3,jquery-validate,Javascript,Jquery,Twitter Bootstrap,Twitter Bootstrap 3,Jquery Validate,我的主页上有两个标签,一个用于个人注册,另一个用于公司注册。在第一个选项卡中,验证工作正常,但在第二个选项卡中,验证不工作,并且不返回任何内容 首先,HTML: <!-- Fire nav tabs --> <ul class="nav nav-tabs"> <li class="active"><a href="#pf" data-toggle="tab">Pessoa Fisica</a></li> &l

我的主页上有两个标签,一个用于个人注册,另一个用于公司注册。在第一个选项卡中,验证工作正常,但在第二个选项卡中,验证不工作,并且不返回任何内容

首先,HTML:

<!-- Fire nav tabs -->
<ul class="nav nav-tabs">
    <li class="active"><a href="#pf" data-toggle="tab">Pessoa Fisica</a></li>
    <li><a href="#pj" id="pjHandler" data-toggle="tab">Pessoa Juridica</a></li>
</ul>

<!-- Nav tabs -->
<div class="tab-content">
    <div class="tab-pane fade in active" id="pf">
        <form id="pfRegister" action="" method="post" autocomplete="off">
            <div class="form-group">
                <input type="text" id="firstName" class="form-control inputSk" placeholder="Name" name="firstName" required>
            </div>
            <div class="form-group">
                <input type="text" id="lastName" class="form-control inputSk" placeholder="Surname" name="lastName" required>
            </div>
            <div class="form-group">
                <input type="text" id="email" class="form-control inputSk" placeholder="Email" name="email" required>
            </div>
            <div class="form-group">
                <input type="password" id="password" class="form-control inputSk" placeholder="Password" name="password" required>
            </div>
            <div class="form-group">
                <input type="password" id="confirm_password" class="form-control inputSk" placeholder="Confirm your password" name="confirm_password" required>
            </div>
            <div class="form-group">
                 <select id="gender" name="gender" class="form-control inputSk" required>
                     <option value="">Gender</option>
                     <option value="Male">Male</option>
                     <option value="Female">Female</option>
                 </select>
            </div>
            <div class="form-group">
                <div class='input-group date'>
                    <input type='text' class="form-control inputSk input" name="birth" id="birth" required>
                 </div>
            </div>

        </div>
        <div class="actionForm">
            <button type="submit" id="send" class="btn btn-default sk skBtn-primary submit">Sign up</button>
        </div>
    </form>
    </div>

<!-- company register -->
<div class="tab-pane fade" id="pj">
        <form id="pjRegister" class="captcha" action="" method="post" autocomplete="off">
            <div class="form-group">
                 <input type="text" class="form-control inputSk" name="cnpj" id="cnpj" placeholder="CNPJ" required>
             </div>
             <div class="form-group">
                 <input type="text" class="form-control inputSk" name="juridicIdentity" id="razaosocial" placeholder="Razao Social" required>
             </div>
             <div class="form-group">
                 <input type="text" class="form-control inputSk" name="companyIdentity" id="company" placeholder="Company Name" required>
             </div>
             <div class="form-group">
                 <input type="text" class="form-control inputSk" name="administrator" id="administrator" placeholder="Administrator Account" required>
             </div>
             <div class="form-group">
                 <input type="email" class="form-control inputSk" id="pjEmail" name="pjEmail" placeholder="Email" required>
             </div>
             <div class="form-group">
                 <input type="email" class="form-control inputSk" id="pj_confirm_email" name="pj_confirm_email" placeholder="Confirm Email" required>
             </div>
             <div class="form-group">
                 <input type="password" id="pjPassword" class="form-control inputSk pwstrength_viewport_progress" placeholder="Password" required>
             </div>
             <div class="form-group">
                 <input type="password" id="pjConfirm_password" class="form-control inputSk" placeholder="Confirm Password" required>
             </div>
             <div class="actionForm">
                  <button type="button" id="pjSend" class="btn btn-default sk skBtn-primary submit">Sign up</button>
             </div>
         </form>
    </div>
    </div> <!-- end of pj panel -->
默认值和错误设置在$.validator.setDefaults中

我试着一个接一个地验证这一点,但仍然不起作用:

var pfreg = $("#pfRegister").validate({
    rules: {rules},
    messages: {msgs}
});

//companies validator
var pjreg = $("#pjRegister").validate({
    rules: {rules},
    messages: {msgs}
});

pjreg.element('input');
pfreg.element('input');
通过搜索web,我找到了一个可能的解决方案:

$("#pjRegister").each(function(){
    $(this).validate();
});
但这样,当我单击Submit按钮时,表单不会进行验证。

您的第一个按钮是type=Submit,它由验证插件自动捕获,因此会触发验证

您的第二个按钮是type=按钮,它不会被捕获,因此当您单击它时插件不会执行任何操作


工作演示:

我需要您展示代码html,如需帮助,请在您的问题中包括相关的html和CSS,如果可以,请在JSFIDLE或bootply上提供一个模型。立即编辑。HTML太长,我正在删除不必要的代码。您尝试的每个解决方案都与此无关。每次选择多个表单时,只能使用每个表单。显然,您只针对一个带有id选择器的表单,所以。每个表单都毫无意义。我现在在引导选项卡中添加了HTML。在标签之外,验证工作正常,问题是表单何时在里面。谢谢@Sparky,我不敢相信我因为这个损失了工作时间。“现在就要结束这种生活了。”威廉肯尼迪,有时候放慢脚步,有条不紊地攻击它会有所帮助。毕竟,如果它对其中一个有效,而对另一个无效,那么是时候仔细检查两者的差异了。你完全正确。再次感谢你:
$("#pjRegister").each(function(){
    $(this).validate();
});