Как отправлять две формы поочередно посредством ajax
Добавлено: 2016.11.26, 15:32
Здравствуйте! На странице есть две формы. Первая форма выглядит так:
Вторая форма так:
С помощью ajax нужно отправить на обработку сначало одну форму, потом другую.
Раньше когда была только одна форма работал такой код:
Теперь когда две формы, попытался отслеживать клик по сабмиту. Но этот код не работает:
Я так понял что все же по клику надо отслеживать. В интернете не нашел подходящего решения. Подскажите пожалуйста как правильно сделать раздельную отправку этих двух форм на ajax?
Код: Выделить всё
<?php $form = ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data'], 'action'=> Url::to(['/order/sendone'])]); ?>
<?php echo $form->field($ogModel, 'content')->textarea(['rows' => 6,'placeholder'=>Yii::t('app','Write a message')])->label('') ?>
<?= Html::submitButton( Yii::t('app', 'Send'), ['class' => 'btn btn-success','id'=>'applymessage']) ?>
<?php ActiveForm::end(); ?>
Код: Выделить всё
<?php $form = ActiveForm::begin(['action'=> '/order/sendtwo']); ?>
<?= $form->field($ogModel, 'customer_name')->textInput(['maxlength' => true,'placeholder'=>Yii::t('app','Customer name')])->label('') ?>
<?= $form->field($ogModel, 'phone')->textInput(['maxlength' => true,'placeholder'=>Yii::t('app','Phone number')])->label('') ?>
<?= Html::submitButton($ogModel->isNewRecord ? Yii::t('app', 'Send message') : Yii::t('app', 'Update'), ['class' => $ogModel->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
<?php ActiveForm::end(); ?>
Раньше когда была только одна форма работал такой код:
Код: Выделить всё
$('body').on('beforeSubmit', 'form#w0', function () {
// e.preventDefault();
var form = $(this);
// return false if form still have some validation errors
if (form.find('.has-error').length) {
return false;
}
// submit form
$.ajax({
url: form.attr('action'),
type: 'post',
data: form.serialize(),
success: function (response) {
if(response){
console.log(response);
//$('#oneform').addClass('inv');
$('#twoform').addClass('inv');
$('#threeBlock').removeClass('inv');
} else {
$('#errorsdiv').html('<p><?= Yii::t('app','Send form failed') ?></p>');
}
}
});
return false;
});
Код: Выделить всё
$(document).ready(function(){
$('#applymessage').on('click',function(e){
e.preventDefault();
var form = $(this);
$.ajax({
url: form.attr('action'),
type: 'post',
data: form.serialize(),
success: function (response) {
if(response){
console.log(response);
$('#oneform').addClass('inv');
$('#twoform').removeClass('inv');
}
}
});
return false;
});
}