【发布时间】:2014-08-25 14:26:03
【问题描述】:
有形式。验证函数附加到提交事件,它返回真/假 ($(form).submit(...))。
<form name="f" class="form">
<input type=text name=ff>
</form>
$(".form").submit(function() {
if ($("[name='ff']").val()==="") {
return false
}
return true;
})
我们想运行一些必须执行的跟踪脚本,以防验证返回 true 但不更改原始验证功能(我们可以从界面启用/禁用跟踪脚本)
var _this = this;
ga('send', 'pageview', 'la-la-la', {
'hitCallback': function() {
jQuery(_this).parents('form').first().submit();
}
})
return !window.ga;
我该如何正确地做到这一点?
到目前为止,我想取消绑定当前的提交/验证函数并绑定我的函数,并在其中执行验证逻辑,然后运行我的跟踪代码。通过这种方式,我可以轻松禁用/启用跟踪代码,而不会中断逻辑的原始行为。
但是我在这样做时遇到了问题。请指教。我想做这样的事情
var fn = $(.form).submit // get attached logic - and that's does not work
$(.form).unbind('submit') // unbind it from submit
$(.form).submit(function() { // attach my code and reuse old code inside
my code...
if (fn()===true) {
my code...
}
my code...
})
【问题讨论】:
标签: javascript jquery forms validation