当单击“提交”按钮时,所有表单验证显示仅需要相关服务就什么都没有看到,请参见下图-
这是代码。一个选择选项“ 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>