У меня возникла проблема с переменной «sync» в функции ниже, когда она установлена, когда она установлена в первый раз.Проблема с рассмотрением Javascript с проверкой jQuery
Если я вызываю ниже с ...
save(true);
save(false);
.
var save = function (sync) {
// value of sync here always reflects what is passed in
$('form').validate({
rules: {
...
},
submitHandler: function() {
var ajax = sync; // the first time sync is true, and then it is always true!
}
});
$('form').submit();
}
Первая синхронизация вызова - это «истина». Во второй синхронизации вызова «false» перед проверкой, но в submitHandler синхронизация возвращается к «true».
Я думаю, что это проблема. В обработчике отправки я могу получить доступ к переданному в значение «sync»?
Каждый раз, когда вы вызываете 'save', вы создаете новый объект validator без удаления старого. Можете ли вы добавить больше кода о том, как вызывается вызов 'save'? В идеале вы должны называть '$(). Validate()' __once__ независимо от того, сколько раз вы вызываете 'save'. – Mathletics
save() вызывается прямо из обработчика нажатия кнопки. Таким образом, нажмите кнопку, и сохранение будет вызвано (и вызывается только один раз). Я думаю, что «это» в submitHandler - это проверка подлинности jquery. Так или иначе, когда синхронизация будет установлена, она никогда не может быть установлена снова. Очень странно. –
... похоже, что вы делаете это неправильно. Вы должны вызвать 'validate' в форме, когда она создана, и позволить ей обрабатывать события отправки. Какова цель 'save (false)'? – Mathletics