【发布时间】:2014-11-13 18:46:48
【问题描述】:
我的主页上有两个标签,一个用于个人注册,另一个用于公司。验证在第一个选项卡中工作正常,但在第二个选项卡中,验证不起作用并且不返回任何内容。
首先,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 -->
JS:
$("#pfRegister").validate({
rules: {rules},
messages: {msgs}
});
//companies validator
$("#pjRegister").validate({
rules: {rules},
messages: {msgs}
});
默认值和showErrors 设置在$.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');
在网上搜索,我找到了一个可能的解决方案:
$("#pjRegister").each(function(){
$(this).validate();
});
但是当我点击提交按钮时,表单不会验证。
【问题讨论】:
-
我需要你显示代码 html,寻求帮助
-
请在您的问题中包含相关的 HTML 和 CSS,如果可以的话,请附上 jsfiddle 或 bootply 上的模型。
-
现在正在编辑。 HTML 太长,我删除了不必要的代码。
-
您尝试的
.each()解决方案与此无关。.each()只能在您一次选择多个表单时使用。显然,您只针对一个带有 id 选择器的表单,所以.each()完全没有意义。 -
我现在在引导选项卡中添加了 HTML。在选项卡之外,验证工作正常,问题是当表单在里面时。
标签: javascript jquery twitter-bootstrap twitter-bootstrap-3 jquery-validate