@Aleksandr90

Как отправить все данные формы yii2 (с ajaxom не смог сделать )?

как заставить модуля отправить все данные формы ?
у мне есть онлайн магазин надо просто отправить данные в корзине именно с ajaxom с сессией и бд не надо потому что там скидку которые не влияет не на сессию не на базу .
только с ajaxom могу отправить, отправить с ajaxom не смог теперь думаю с кнопками activeforma polucitsa tak kak у мне в коде обычные кнопки input
5a5dad3c05f83765259694.png
//это корзина
<?php $form = ActiveForm::begin(['id' => 'form'],['class' => 'form']); ?>
    <table class="table table-striped" id="myTable">
        <thead>
        <tr class="text-center">
            <th></th>
            <th>Adı</th>
            <th>Sayı</th>
            <th>Vahid</th>
            <th>Qiyməti (AZN)</th>
            <th>Toplam (AZN)</th>
            <th></th>
        </tr>
        </thead>
        <tbody>
        <?php $top =0 ; $in = 0; 
        foreach ($model as $data):?>

            <tr id="quantitytr<?= $data['id']?>">
                <!-- sekillerin oldugu sutun -->
                <td>
                    <img  style="padding: 30px;width: 50%" class="img-responsive"
                          src="<?=isset($data['productPhotos'][0]['path']) ? '/uploads/'.$data['productPhotos'][0]['path'] : 'https://placeholdit.imgix.net/~text?txtsize=33&txt=Alutek&w=400&h=400' ?>" >
                </td>
                <!-- sekillerin oldugu setr -->

              <!-- mehsul adi -->
                <td><?=$data['name']?></td>
               <!-- say ve plus/minus buttonu -->
                <td>
                    <div class="input-group">
                      <span class="input-group-btn">
                          <button type="button" class=" qtyminus btn btn-default btn-number "  data-type="minus" data-field="quant<?= $data['id']?>">
                              <span class="glyphicon glyphicon-minus"></span>
                          </button>
                      </span>
                        <input style="min-width: 50px"  type="text" metod="post" name="quant<?= $data['id']?>"  class="form-control input-number quantity" value="1" min="1" max="800" data-price="<?= $p_qiymet ?>" >
                        <span class="input-group-btn">
                          <button type="button" class="qtyplus btn btn-default btn-number " data-type="plus" data-field="quant<?= $data['id']?>">
                              <span class="glyphicon glyphicon-plus"></span>
                          </button>
                      </span>
                    </div>
                </td>
            <!-- vahid -->
                <td><input style="min-width: 50px"  class="form-control input-number readonly price"  type="text" readonly value="<?=$data['base_unit']?> " /></td>
            <!-- qiymet -->
                <td><input style="min-width: 50px" class="form-control input-number readonly price dollarInput"  type="text" readonly value="<?=$p_qiymet?>" /></td>
            <!--toplam qiymet burdan goturmelidir-->
                <td><input style="min-width: 60px" name="umumiquant<?= $data['id']?>"  class="umumiquant<?= $data['id']?> form-control input-number total to<?= $data['id']?>" type="text" readonly value="<?=$p_qiymet ?>" class="readonly"   data-field="<?= $situation?>"/></td> 
            <!-- sil buttonu -->
                <td>
                    <button type="button" id="<?= $data['id']?>" data-area="<?= $data['id']?>" class="btn btn-danger sil" data-field="umumiquant<?= $data['id']?>" name="<?= $data['id']?>">Sil
                    </button>
                </td>
            </tr>
            <?php
            $top += $p_qiymet;
            ?>
        <?php endforeach; ?>
<!-- Yekun -->
        <tr>
            <td><label>Toplam</label></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td><p><input id="yekun" class="form-control input-number readonly price" readonly value="<?=$top?>" /></p></td>
        </tr>
        </tbody>
    </table>
            <label for="name">Имя:</label>
            <input type="text" style="margin-left: 27px"  name="name" placeholder="Введите ваше имя" required />
        </p>
        <p>
            <label for="email" >Email:</label>
            <input type="email" style="margin-left: 20px" name="email" placeholder="Введите электронный адрес" required />
        </p>
        <p>
            <label for="tel">Телефон:</label>
            <input type="tel" name="tel" placeholder="Введите номер телефона" required />
        </p>
</div>
<div style="float: right" class="col-md-5">
    <div style="float: right" class="col-sm-2 col-lg-2 col-md-2" >
        <?= Html::a('Çap et','#', ['class'=>'btn btn-primary grid-button','onClick'=> "printdiv('div_print')"]) ?>
    </div>
    <div style="float: right" class="col-sm-2 col-lg-2 col-md-2" >
        <?= Html::submitButton('Göndər', ['class' => 'btn btn-default','id' => 'mail.php']) ?>
    </div>
</div>
   <?php ActiveForm::end(); ?>
</div>

// это модель
public function sendEmail($email)
    {
        return Yii::$app->mailer->compose()
            ->setTo($this ->email)
            ->setFrom([$this->email => $this->name])
            ->setSubject($this->subject)
            ->setTextBody($this->body)
            ->send();
    }
}

// это контроллер корзины
public function actionCart()
    {
        $model = new CartForm();
        if ($model->load(Yii::$app->request->post()) && $model->validate()) {
            if ($model->sendEmail(Yii::$app->params['adminEmail']))
            {
                Yii::$app->session->setFlash('success', 'Müraciətiniz üçün təşəkkür edirik');
            } 
            else 
            {
                Yii::$app->session->setFlash('error', 'Gözlənilməz xəta baş verdi');
            }
            return $this->refresh();
        } 
        else 
        {
           return $this->render('contact', ['model' => $model,]);
        }
    }
  • Вопрос задан
  • 127 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы