Я использую вкладки jQuery и проверяю, что все поля заполнены до того, как пользователь переместится на следующую вкладку. На некоторых вкладках есть опции, в которых пользователь может выбирать из нескольких параметров, и иногда пользователь щелкает опцией 1 и означает вариант 2, но когда они пробуют и нажимают предыдущую кнопку, это проверяет поля и не позволит им пока они не заполнили все поля, которые являются мусором UX.jQuery вкладки и подтверждение
Я хотел был бы подтвердить только при нажатии следующей кнопки, но не при нажатии предыдущей кнопки.
<a class="btn nexttab navbutton" href="#step1">Previous</a>
<a class="btn nexttab navbutton" href="#step3">Next</a>
Вот код, я использую в настоящее время:
var validator = $("#start").validate();
var tabs = $("#tabs").tabs({
select: function(event, ui) {
var valid = true;
var current = $(this).tabs("option", "selected");
var panelId = $("#tabs ul a").eq(current).attr("href");
$(panelId).find(":input").each(function() {
console.log(valid);
if (!validator.element(this) && valid) {
valid = false;
}
});
return valid;
}
});
Чтобы попытаться преодолеть это я добавил класс с именем следующей кнопки на следующие кнопки только затем пытался изменить эту линию, я предполагаю, проверяет любой вход:
$(panelId).find(":input").each(function() {
к:
$(".nextbutton").click(function() {
, но он позволяет пользователю перейти к следующему экрану, не заполняя все поля.
Как я могу это сделать, так что только движение вперед проверено?
http://jsfiddle.net/553xmzh3/1/
Это не кажется, работает для меня - я читаю http://jqueryvalidation.org/reference#skipping-validation- on-submit, что использование класса = cancel теперь устарело. Также я использую href для предыдущего/следующего, поскольку я использую это в пределах вкладок, возможно, это имеет значение? – bhttoan
@bhttoan, устаревший или нет, он работает в jsFiddle выше. Здесь также работает новый способ: http://jsfiddle.net/4zdL8ha3/1/ ~ Тот факт, что вы используете якорные теги вместо 'type =" submit "элементов, имеет все, что связано с вашей неудачей. Вы должны были показать эту разметку в первую очередь. – Sparky
Спасибо @Sparky - проблема с ответом на привязку - я использую вкладки, поэтому мне нужно назначить ссылку href для этой ссылки, поэтому я использовал теги привязки в первую очередь, а не фактические кнопки, и я не знаю, включите ссылку в кнопку без использования onclick – bhttoan