Я использую плагин формы мастера шаблонов.
Выбор получает значения параметров, динамически добавляемые к событию загрузки страницы. Я добавил требуемый класс в select
, когда я нажимаю кнопку «Далее», не заполняя никаких значений во всех текстовых полях и сохраняя выбор по умолчанию (0), все проверки по умолчанию
Это поле является обязательным.
этого плагина отображается поверх всех текстовых полей, но не работает для select
(поле категории).
HTML:
<form class="form-horizontal" id="form" onsubmit="return validateform()" method='post' action="./?action=savebookdetails" class="wizard-big">
<h1>Book Details</h1>
<fieldset>
... ...
<div class="form-group">
<label class="col-sm-3 control-label">ISBN *</label>
<div class="col-sm-9">
<input name="isbn" id="isbn" value="<?php if($result != '') echo $result->isbn; ?>" type="text" class="form-control only-numbers required" maxlength="11">
</div>
</div>
<div class="form-group" id="dob">
<label class="col-sm-3 control-label">Category *</label>
<div class="col-sm-9">
<select class="form-control required" onchange="fetchsubcategories(this.value)" id="category" name="category">
<option value="0">Select</option>
</select>
</div>
</div>
</fieldset>
</form>
В jQuery:
$("#wizard").steps();
$("#form").steps({
bodyTag: "fieldset",
onStepChanging: function(event, currentIndex, newIndex) {
if (currentIndex > newIndex) {
return true;
}
var form = $(this);
if (currentIndex < newIndex) {
$(".body:eq(" + newIndex + ") label.error", form).remove();
$(".body:eq(" + newIndex + ") .error", form).removeClass("error");
}
form.validate().settings.ignore = ":disabled,:hidden";
return form.valid();
},
onStepChanged: function(event, currentIndex, priorIndex) {
if (currentIndex === 2 && priorIndex === 3) {
$(this).steps("previous");
}
},
onFinishing: function(event, currentIndex) {
var form = $(this);
form.validate().settings.ignore = ":disabled";
return form.valid();
},
onFinished: function(event, currentIndex) {
var form = $(this);
form.submit();
},
onCanceled: function(event) {
window.history.go(-1);
}
}).validate({
errorPlacement: function(error, element) {
element.before(error);
}
});