Javascript 当bValidator函数返回true时,如何调用函数?
下面是我的代码,如何调用SubmitMedicalSignup()函数一次bValidator或仅在单击submit按钮时返回trueJavascript 当bValidator函数返回true时,如何调用函数?,javascript,php,angularjs,validation,Javascript,Php,Angularjs,Validation,下面是我的代码,如何调用SubmitMedicalSignup()函数一次bValidator或仅在单击submit按钮时返回true <form method="post" data-bvalidator-validate data-bvalidator-option-validate-till-invalid="true"> <label class="label required"> First Name <font>:</font&g
<form method="post" data-bvalidator-validate data-bvalidator-option-validate-till-invalid="true">
<label class="label required"> First Name <font>:</font> </label>
<input type="text" name="contact_person_first_name" ng-model="MedicalData.contact_person_first_name" class="form-control" data-bvalidator="alpha,minlen[50],required" data-bvalidator-msg="First Name Required.">
<button type="submit" name="" id="" ng-click="SubmitMedicalSignup()" value="Register as a physician" class="btn-blue"> Submit
</form>
<!-- validation -->
<script type="text/javascript" src="<?php echo FRONTEND_THEME_URL ?>js/vendor/jquery.bvalidator.js"></script>
<script type="text/javascript" src="<?php echo FRONTEND_THEME_URL ?>js/themes/presenters/default.min.js"></script>
<script type="text/javascript" src="<?php echo FRONTEND_THEME_URL ?>js/themes/gray/gray.js"></script>
<link href="<?php echo FRONTEND_THEME_URL ?>js/themes/gray/gray.css" rel="stylesheet" />
<script type="text/javascript">
$(document).ready(function () {
$('form').bValidator();
});
</script>
名字:
提交
您可以使用诸如ng click=“bValidator&&SubmitMedicalSignup()”
之类的表达式。它应该做到这一点,但它不是实现这一点的最干净的方法。您可以在关联的控制器中调用一个函数,检查bValidator是否为true,然后触发您的函数。您可以将validateOnSubmit
选项设置为false
并在表单submit上使用javascript调用验证,如果没有验证错误,则调用SubmitMedicalSignup()
:
....
....
$(文档).ready(函数(){
$('form')。关于('submit',函数(e){
e、 preventDefault();//停止提交事件
if($('form').data('bValidator').validate()){
SubmitMedicalSignup();
$('form').submit();//提交表单
}
});
});
在提交时调用操作方法,如ng submit=“function\u name()”
然后它将首先运行bvalidator函数,然后调用submit函数。bvalidator验证工作,但表单提交停止执行控制台为空。SubmitMedicalSignup函数未调用这两种方法都应该有效。如果您仍然有问题,您可能在其他地方有错误。
<form method="post" data-bvalidator-validate data-bvalidator-option-validate-till-invalid="true" data-bvalidator-option-validate-on-submit="false">
....
....
<script type="text/javascript">
$(document).ready(function () {
$('form').on('submit', function (e) {
e.preventDefault(); // stop submit event
if($('form').data('bValidator').validate()){
SubmitMedicalSignup();
$('form').submit(); // submit the form
}
});
});
</script>
flag = 0;
jQuery("form").on("submit", function (e) {
if(flag == 0){
e.preventDefault();
if(jQuery('form').data('bValidator').validate()) {
// Do your processing
flag = 1;
jQuery("form").submit();
}
} else {
flag = 0;
}
});
<form method="post" data-bvalidator-validate data-bvalidator-option-validate-till-invalid="true" ng-submit="function_name()">