Javascript validationEngine(';validate';)不是函数
我有一个简单的表单,我想知道表单是否处于有效状态 该项目正在使用 我使用的是相同的版本2.6.2 根据文档,它支持一个函数Javascript validationEngine(';validate';)不是函数,javascript,jquery,forms,jquery-validation-engine,Javascript,Jquery,Forms,Jquery Validation Engine,我有一个简单的表单,我想知道表单是否处于有效状态 该项目正在使用 我使用的是相同的版本2.6.2 根据文档,它支持一个函数validationEngine('validate'),该函数根据表单的状态返回true或false 我一直收到错误TypeError:$(…)。validationEngine不是一个函数 但奇怪的是,表单会根据需要抛出验证错误 我确实检查了validationEngine插件是否在jquery之后和触发调用的js文件之前加载。表单选择器也是正确的 表格: <f
validationEngine('validate')
,该函数根据表单的状态返回true或false
我一直收到错误TypeError:$(…)。validationEngine不是一个函数
但奇怪的是,表单会根据需要抛出验证错误
我确实检查了validationEngine插件是否在jquery之后和触发调用的js文件之前加载。表单选择器也是正确的
表格:
<form name="editProfileForm" method="post" action="#" class="epf" id="editDiaryForm" style="display:none;">
<a href="javascript:void(0)" onclick="toggleCancel(this,'addPlay');$('#editDiaryForm')[0].reset();;" class="pull-right action-link">Cancel</a>
<a href="javascript:void(0)" onclick="submitDiary('#editDiaryForm');" class="pull-right action-link">Save </a>
<input class="form-control validate[required, ajax[ajaxDiaryCall]]" name="title" id="title" type="text"/>
<textarea class="form-control validate[required]" name="playdiary" id="playdiary"></textarea>
<input type="hidden" name="Edit" value="playdiary" />
</form>
$(document).ready(function(){
$("#editDiaryForm").validationEngine('attach');
//This throws true
console.log($('#editDiaryForm').validationEngine('validate'));
});
提交功能
function submitDiary(formid)
{
$(formid).bind('submit' , function(e){
e.preventDefault();
// Gives me the expected value
console.log('Submiting Form - '+ formid);
//Throws me an error here if commited
$(formid).validationEngine();
submit = false;
//Gets stuck here
if(submit == false && $(formid).validationEngine('validate') == true)
{
submit=true;
$.ajax({
url: url+'diary/save',
async: false,
type: "post",
data: $(formid).serialize(),
success: function (data) {
if(data==true)
{
$('#diaries').prepend(data);
}
else
{
custom_page_msg('Something Went Wrong. Please Login to your account again to complete the action.');
}
submit = false;
}
});
}
});
$(formid).submit();
}
脚本顺序
<script src="<?php echo base_url()?>js/jquery.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="<?php echo base_url('js'); ?>/bootstrap.min.js"></script>
<script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script src="<?php echo base_url('js/languages'); ?>/jquery.validationEngine-en.js"></script>
<script src="<?php echo base_url('js'); ?>/jquery.validationEngine.js"></script>
<script src="<?php echo base_url('js'); ?>/jquery.customSelect.min.js"></script>
<script src="<?php echo base_url('js'); ?>/scripts.js"></script>
<script src="<?php echo base_url('js'); ?>/other-validation.js"></script>
<script src="<?php echo base_url('js'); ?>/dropzone.js"></script>
<script src="<?php echo base_url('js'); ?>/global.js"></script>
好的问题是,当jQuery没有准备好时,您试图调用一些函数,这是进行同步的最佳时机。进程只需在按钮上绑定click事件,然后单击即可处理所有数据
下面我有一个简单的例子,它是有效的
$(函数(){
$(“#编辑日志格式”).validationEngine('attach');
log(“这里是validationEngine的类型:”,typeof$(“#editDiaryForm”).validationEngine);
$('#test').bind('click',函数(e){
e、 预防默认值();
$(this).parent('form').validationEngine('validate');
});
});代码>
好的问题是,当jQuery没有准备好时,您试图调用一些函数,这是进行同步的最佳时机。进程只需在按钮上绑定click事件,然后单击即可处理所有数据
下面我有一个简单的例子,它是有效的
$(函数(){
$(“#编辑日志格式”).validationEngine('attach');
log(“这里是validationEngine的类型:”,typeof$(“#editDiaryForm”).validationEngine);
$('#test').bind('click',函数(e){
e、 预防默认值();
$(this).parent('form').validationEngine('validate');
});
});代码>
@种族灭绝\u恶作剧我编辑了这篇文章,这应该行得通,所以只需更改您调用请求的乳清即可。我已更新了我的提交功能。请看一看。不,这行不通,我是如何告诉你的onclick=“”将异步传播的。试着设置一些ID,然后用jQuery绑定一个点击事件,就像在我的示例中一样,让我知道会发生什么问题,我不能这样做,因为表单是在一个循环中创建的,每个循环都有一个与循环计数器关联的ID。因此,我需要一种方法,通过对象的帮助来创建整个操作。我看没有理由它不起作用。除此之外,我还尝试手动用实际id替换formid,这与我编辑的文章中的相同问题。@u Hoax这应该可以工作,所以只需更改您调用请求的乳清即可。我已经更新了我的提交功能。请看一看。不,这行不通,我是如何告诉你的onclick=“”将异步传播的。试着设置一些ID,然后用jQuery绑定一个点击事件,就像在我的示例中一样,让我知道会发生什么问题,我不能这样做,因为表单是在一个循环中创建的,每个循环都有一个与循环计数器关联的ID。因此,我需要一种方法,通过对象的帮助来创建整个操作。我看没有理由它不起作用。除此之外,我还尝试手动将formid替换为实际id,同样的问题。