Javascript 第二个jQuery验证在引导选项卡中不起作用
我的主页上有两个标签,一个用于个人注册,另一个用于公司注册。在第一个选项卡中,验证工作正常,但在第二个选项卡中,验证不工作,并且不返回任何内容 首先,HTML: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
<!-- 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();
});