在yii2中使用AjaxSubmitButton显示预告和提交表单

时间:2018-08-14 05:50:05

标签: php yii2

当单击“提交”按钮时,所有表单验证显示仅需要相关服务就什么都没有看到,请参见下图-

enter image description here

这是代码。一个选择选项“ RELETED SERVICE”验证不起作用,这就是为什么表单提交不起作用的任何建议。 Yii2 AjaxSubmitButton并使用预加载器,然后提交表单。

    <?php
    use yii\helpers\Html;
    use yii\helpers\BaseHtml;
    use yii\widgets\DetailView;
    use yii\widgets\ActiveForm;
    use app\models\Countries;
    use app\models\Ticket;
?>

<div class="ibox-title"><h5><?=Yii::t('app', 'SUPPORT TICKETS') ?> <small><?=Yii::t('app', 'If you can\'t find a solution to your problems in our knowledgebase, you can submit a ticket by selecting the appropriate department below.') ?></small></h5></div>


<div class="ibox-content">   

    <div id="paypal_loader">

    </div>
<?php $form = ActiveForm::begin(
            ['action' =>'',
            'options' => ['method'=>'post','class'=>'form-horizontal','id'=>'frm-introduction','enctype'=>'multipart/form-data'],
            'fieldConfig' => [
                'template' => "{label}<div class=\"col-md-4\">{input}\n{error}</div>",
                'labelOptions' => ['class' => 'col-lg-2 control-label'],
            ],
            'enableAjaxValidation'=>true,'enableClientValidation' => true,'validateOnSubmit'=>true]); ?>

        <?= $form->field($model, 'deptid')->dropDownList(Ticket::getSupportDepartment(),['prompt'=>'Select...']); ?>
        <?= $form->field($model, 'subject'); ?>
        <?= $form->field($model, 'priority')->dropDownList(Ticket::getPriority(),['prompt'=>'Select...']); ?>
        <?= $form->field($model, 'serviceid')->dropDownList(Ticket::getRelatedServices(),['prompt'=>'Select...']); ?>
        <?= $form->field($model, 'message')->textArea(['rows'=>'9','cols'=>'6']); ?>

        <?= $form->field($model, 'attachments[]')->fileInput(['multiple' => true, 'accept' => 'image/*']); ?>

  <!--  <?php if(!$missing){ ?> -->
              <div class="form-group m-t-20">
          <div class="pull-right">

          <input type="hidden" name="buttonclick" id="buttonclick" value="0">
          <?php app\vendor\demogorgorn\yii2ajax\AjaxSubmitButton::begin([
                      'label' => Yii::t('app','Submit Ticket'),
                      'id'=>'card-button',
                      'ajaxOptions' => [
                          'type'=>'POST',                                                
                          'url'=>new \yii\web\JsExpression('$(this).closest("form")[0].action'),
                          'beforeSend'=> new \yii\web\JsExpression('function() {

                                      $("#paypal_loader").html("<div class=\"sk-spinner sk-spinner-three-bounce\"><div class=\"sk-bounce1\"></div><div class=\"sk-bounce2\"></div><div class=\"sk-bounce3\"></div></div>");


                                  }'),
                          'success' => new \yii\web\JsExpression('function(response){   

                                  $("#paypal_loader").html("");
                                        console.log(response);    
                                       if(jQuery.type(response)!="object"){
                                          var obj = jQuery.parseJSON(response);
                                       } 
                                      console.log(obj);                                             

                                  if(jQuery.type(response)=="object"){
                                      $("#buttonclick").val(0);
                                      $("#card-button").removeAttr("disabled");
                                      //$("#existingcard-btn").removeAttr("disabled");


                                  }else if(obj[0].form){
                                    $("#form3d").html(obj[0].form);


                                  }else{
                                      var obj = jQuery.parseJSON(response);
                                      console.log(obj);




                                  }
                          }'),
                      ],
                      'options' => ['class' => 'btn btn-primary', 'type' => 'submit','name'=>'card-button','value'=>'send','onclick'=>'$("#buttonclick").val(1);'],
                      ]);
                  app\vendor\demogorgorn\yii2ajax\AjaxSubmitButton::end();
                  ?>

                                     <a class="btn btn-primary" href="/ticket/index" data-toggle="block" data-reset="#w6"  data-target="dt-aboutme">Cancel</a>

                                  <!-- <?php } ?> -->

                              </div></div>

                  <?php ActiveForm::end(); ?>
                  </div>
                  <div id="form3d"></div>
<script type="text/javascript">

    $("#frm-introduction").on("submit", function(){

       });

</script>

这是ajaxsubmitbutton-使用加载程序时提交将不起作用,而提交使用加载程序进程将不起作用。我应该做什么建议。 AjaxSubmitButton如何与loder处理并提交表单。

<?php app\vendor\demogorgorn\yii2ajax\AjaxSubmitButton::begin([
                'label' => Yii::t('app','Submit Ticket'),
                'id'=>'card-button',
                'ajaxOptions' => [
                    'type'=>'POST',                                                
                    'url'=>new \yii\web\JsExpression('$(this).closest("form")[0].action'),
                    'beforeSend'=> new \yii\web\JsExpression('function() {

                                $("#paypal_loader").html("<div class=\"sk-spinner sk-spinner-three-bounce\"><div class=\"sk-bounce1\"></div><div class=\"sk-bounce2\"></div><div class=\"sk-bounce3\"></div></div>");


                            }'),
                    'success' => new \yii\web\JsExpression('function(response){   

                            $("#paypal_loader").html("");
                                  console.log(response);    
                                 if(jQuery.type(response)!="object"){
                                    var obj = jQuery.parseJSON(response);
                                 } 
                                console.log(obj);                                             

                    }'),
                ],
                'options' => ['class' => 'btn btn-primary', 'type' => 'submit','name'=>'card-button','value'=>'send','onclick'=>'test(1)'],
                ]);
            app\vendor\demogorgorn\yii2ajax\AjaxSubmitButton::end();
            ?>

                                 <a class="btn btn-primary" href="/ticket/index" data-toggle="block" data-reset="#w6"  data-target="dt-aboutme">Cancel</a>

                              <!-- <?php } ?> -->

                          </div></div>

              <?php ActiveForm::end(); ?>
              </div>
              <div id="form3d"></div>

0 个答案:

没有答案