У меня такая же проблема.
Есть две одинаковые формы с одинаковыми классами:
<form name="sentMessage" class="contactForm" novalidate="">
<div class="modal-body">
<div class="form-group">
<input type="text" class="form-control name" placeholder="Ваше имя" required="" data-validation-required-message="Пожалуйста,введите ваше имя" aria-invalid="false">
<p class="help-block text-danger"></p>
</div>
<div class="form-group">
<input type="phone" class="form-control phone" placeholder="Ваш телефон" required="" data-validation-required-message="Пожалуйста,введите ваш телефон" aria-invalid="false">
<p class="help-block text-danger"></p>
</div>
<div class="form-group">
<textarea class="form-control message" placeholder="Комментарий" required="" data-validation-required-message="Пожалуйста,введите ваше сообщение"></textarea>
<p class="help-block text-danger"></p>
</div>
<div class="clearfix"></div>
</div>
<div class="modal-footer">
<div class="success"></div>
<button type="submit" class="btn center-block btn-outline btn-xl">Отправить</button>
</div>
</form>
И обработка:
$("input,textarea").jqBootstrapValidation({
preventSubmit: true,
submitError: function($form, event, errors) {
// additional error messages or events
},
submitSuccess: function($form, event) {
event.preventDefault(); // prevent default submit behaviour
// get values from FORM
var name = $("input.name").val(),
phone = $("input.phone").val(),
message = $("textarea.message").val();
var firstName = name;
$.ajax({
url: "/mail/contact_me.php",
type: "POST",
data: {
name: name,
phone: phone,
message: message
},
cache: false,
success: function() {
Отправляется только одна из форм, при этом сообщение success срабатывает на обоих формах.
Как в jquery написать, чтобы ограничиться поиском в пределах активной формы?