РЕДАКТИРОВАТЬ: на самом деле это Knockout, JQuery 1.10.2 и попытка переопределить функцию jquery.unobtrusivevalidation ErrorPlacement... останавливая привязку отправки к элементу формы.
Если я запущу тот же код с JQuery 1.8.2, а затем просто изменю свой файл JQuery на 1.10.2, моя функция отправки перестанет срабатывать... кто-нибудь видел подобное?
я собираюсь опубликовать столько релевантного кода, сколько смогу, на случай, если это что-то неожиданное, но главное, что submitForm отлично привязан к событию отправки формы с jquery 1.8.2 и без каких-либо других изменений jquery 1.10.2 не touch submitForm (тестирование с точками останова и операторами alert()). Все остальные нокаутирующие привязки по-прежнему работают.
пожалуйста помоги. Благодарю.
<html>
<head>
<script src="/Content/Scripts/jquery-1.10.2.js"></script>
<script src="/Content/Scripts/jquery-ui/jquery-ui.js"></script>
<script src="/Content/Scripts/jquery-ui-timepicker-addon.js"></script>
<script src="/Content/Scripts/knockout-2.3.0.js"></script>
<script src="/Content/Scripts/knockout-helpers.js"></script>
<script src="/Content/Scripts/knockout.mapping-latest.js"></script>
<script src="/Content/Scripts/underscore.js"></script>
<script src="/Content/Scripts/date.js"></script>
<script src="/Content/Scripts/global.js"></script>
<script src="/Content/Scripts/jquery.blockUI.js"></script>
<script src="/Content/Scripts/jquery.dirtyform.js"></script>
<script src="/Content/Scripts/bootstrap/bootstrap.js"></script>
<script src="/Content/Scripts/sessionTimer.js"></script>
<script src="/Content/Scripts/jquery.livequery.js"></script>
<script src="/Content/Scripts/Ecdm/myCode.js"></script>
</head>
<form action="/Apply" data-bind="submit: submitForm" id="myApplicationForm" method="post">
<!-- html form stuff -->
</form>
<script>
var view;
$(function() {
view = new ModelView({
formSelector: '#myForm',
});
// Base JS model
var model =
{
someProperty: '@Model.SomeProperty',
};
view.bind(model);
});
</script>
</html>
мой код.js:
function ModelView(params) {
var self = this;
// Default parameters
var args = $.extend({
formSelector: 'form' }, params);
this.bind = function (model) {
// Apply KO bindings
ko.applyBindings(self);
};
this.submitForm = function () {
var form = $(args.formSelector);
form.validate();
if (form.valid()) {
var referenceNumber = $('#ReferenceNumber');
if (a==b) {
showConfirmation();
return false;
}
g_showWait("Please wait...");
return true;
}
return false;
}
}